Python 从csv制作列表时如何删除\n?
我所要做的就是在每条记录的末尾创建一个属性列表,而不使用换行符Python 从csv制作列表时如何删除\n?,python,Python,我所要做的就是在每条记录的末尾创建一个属性列表,而不使用换行符\n import os, csv output = os.system('hive -S -e "use precache; select geode from database WHERE geodetype = 17;" > testausnzl.csv') f = open('testausnzl.txt').read() print f ausnzl_list = open("testausnzl.csv"
\n
import os, csv
output = os.system('hive -S -e "use precache; select geode from database WHERE geodetype = 17;" > testausnzl.csv')
f = open('testausnzl.txt').read()
print f
ausnzl_list = open("testausnzl.csv").readlines()
使用
csv
模块读取以下内容,而不是重新发明轮子:
with open("testausnzl.csv", 'rb') as f:
ausnzl_list = list(csv.reader(f))
这将删除换行符并生成行(以逗号分隔)
您可以使用直接从命令读取Python,而不是临时文件名:
import csv
import subprocess
process = subprocess.Popen(
['hive', '-S', '-e',
'"use precache; select geode from database WHERE geodetype = 17;"'],
buffer=1, stdout=subprocess.PIPE)
reader = csv.reader(process.stdout)
for row in reader:
# process each row as you receive it
这里的代码不是将所有内容都加载到列表中,而是在csv.reader()
对象上循环,以处理每一行。这通常是更好、更节省内存的方法
最好的方法是使用,而不使用命令行客户端。它是\n
,使用