Python 将csv文件加载到列表中
我有一个python脚本,它首先将Python 将csv文件加载到列表中,python,python-2.7,csv,Python,Python 2.7,Csv,我有一个python脚本,它首先将列表写入CSV文件,然后立即将CSV文件加载到另一个列表 我单独尝试了将列表写入CSV的代码,它可以工作,CSV文件内容以制表符分隔,其内容如下: car house wife 但如果把所有这些放在一起: import csv // write list to CSV file, it works! the_list=["car","house","wife"] the_file = open("my_file.csv", 'w+') writer = cs
列表
写入CSV文件,然后立即将CSV文件加载到另一个列表
我单独尝试了将列表
写入CSV的代码,它可以工作,CSV文件内容以制表符分隔,其内容如下:
car house wife
但如果把所有这些放在一起:
import csv
// write list to CSV file, it works!
the_list=["car","house","wife"]
the_file = open("my_file.csv", 'w+')
writer = csv.writer(the_file, delimiter='\t')
writer.writerow(the_list)
// read CSV file & load into list
my_file = open("my_file.csv", 'r')
reader = csv.reader(my_file, delimiter='\t')
my_list = list(reader)
print(my_list)
我得到一个打印出来的空列表:
[]
,出什么问题了?您没有关闭要写入的文件,因此读取时找不到要读取的数据。您可以使用with
语句来确保文件已关闭
import csv
# write list to CSV file, it works!
the_list=["car","house","wife"]
with open("my_file.csv", 'w') as outfile:
writer = csv.writer(outfile, delimiter='\t')
writer.writerow(the_list)
# read CSV file & load into list
with open("my_file.csv", 'r') as my_file:
reader = csv.reader(my_file, delimiter='\t')
my_list = list(reader)
print(my_list)
如果你这样做,阅读效果很好
➜ python test.py
[['car', 'house', 'wife']]
你给我们看的代码没有问题。您确定这就是您正在运行的代码的完整性吗?您是否尝试提供一个到
open
的绝对路径?好的,我现在将完整的代码放在这里。请看一看。他还可以在每个处理步骤后抛出一个_file.close()和我的_file.close()。是的,我认为对使用是一个好模式:)我同意,只是说如果他不知道如何处理doesBy,如何摆脱双方括号[…]
?现在,如果我做了my_list.append(“某物”)
,我最终得到了[['car','house','layer']]'something'
,我的意思是元素被附加在外部]
之外,读取器返回一个迭代器,它每行返回一个列表。因此,如果您实际上只想附加到第一行,只需执行我的列表[0]。附加(“某物”)