将csv文件加载到列表中

Lee*_*fin 3 python csv python-2.7

我有一个python脚本,它首先写入listCSV文件,然后立即将CSV文件加载到另一个文件list.

我单独尝试了写入listCSV 的代码,它工作,CSV文件内容是制表符分隔的,其内容如下:

car house wife
Run Code Online (Sandbox Code Playgroud)

但是把它们放在一起时:

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)
Run Code Online (Sandbox Code Playgroud)

我打印出一个空列表:出了[]什么问题?

k-n*_*nut 6

您没有关闭要写入的文件,因此读取时找不到要读取的数据.您可以使用该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)
Run Code Online (Sandbox Code Playgroud)

如果你这样做,阅读工作正常.

?  python test.py
[['car', 'house', 'wife']]
Run Code Online (Sandbox Code Playgroud)