我在python中编写一个脚本来读取.csv文件并在行的基础上打印它。我在执行时没有收到任何错误,但它没有打印出来。 代码如下。
import os
import csv
os.chdir('C:\ingenium')
exampleFile = open('testt.csv')
exampleReader = csv.reader(exampleFile)
exampleData = list(exampleReader)
for row in exampleReader:
print (row)
exampleFile.close()
后来我发现单词“row”在代码中没有任何意义,因为我用任意随机字符串替换“row”(例如:“gcgc”)它没有显示任何错误。 。 我使用Pycharm作为IDE。
答案 0 :(得分:3)
你的错误在这里:
exampleData = list(exampleReader)
您已经耗尽了生成器对象exampleReader
,因此当您迭代它时,您将无法获得任何内容。
您应该迭代新列表:
for row in exampleData:
print(row)
答案 1 :(得分:0)
试试这个:
import os
import csv
os.chdir('C:\ingenium')
exampleFile = open('testt.csv','r')
exampleReader = csv.reader(exampleFile)
for row in exampleReader:
print (row)
exampleFile.close()
正如摩西所说,你已经通过将csv导入列表而耗尽了csv.reader。
答案 2 :(得分:0)
鉴于具体任务,打印线条,可能值得玩更简单的文件处理。
import os
os.chdir('C:\ingenium')
lines = open('testt.csv','r').readlines()
for line in lines:
print (line)