所以这是代码 -
import csv
with open('csv_example_files.csv') as csvfile:
readCSV = csv.reader(csvfile , delimiter = ',')
print(readCSV)
for row in readCSV:
print(row)
输出为:
<_csv.reader object at 0x0000024D3DC42388>
['1/2/2014', '4', 'red']
['1/2/2014', '1', 'kv']
['1/2/2014', '1', 'jblock']
['1/3/2018', '1', 'kv']
['1/5/2114', '1', 'kv']
[]
[]
[]
我没想到最后 3 个空列表我不知道为什么会发生,所以请帮助我。我只是一个初学者,当我遵循教程系列时,我被困在这里。
您的 CSV 文件很可能以 3 个换行符结尾。通过模块读取时,这些会导致列表csv
空。
由于CSV文件包含空行,因此您将获得这些额外的行。您可以编辑文件并删除空白行,也可以添加测试以确保该行包含正确数量的单元格,例如3
:
import csv
with open('csv_example_files.csv', newline='') as f_input:
csv_input = csv.reader(f_input)
for row in csv_input:
if len(row) == 3:
print(row)
这应该会给你以下输出:
['1/2/2014', '4', 'red']
['1/2/2014', '1', 'kv']
['1/2/2014', '1', 'jblock']
['1/3/2018', '1', 'kv']
['1/5/2114', '1', 'kv']
注意:CSV 文件的分隔符已经是,
。使用Python 3.x时,您还应该添加newline=''
尝试添加csvfile.readline()
:
with open("csv_example_files.csv") as csvfile:
csvfile.readline()
readCSV = csv.reader(csvfile , delimiter = ',')
print(readCSV)
for row in readCSV:
print(row)
查看此答案