我需要读取一个csv文件(名为CityPop.csv),这是我的代码:import csvwith open ('CityPop.csv', 'r') as f: read_data = f.read() for line in f: record=line.strip().split(",")print read_dataf.close()但是当我尝试运行它时,没有任何输出。我不知道如何继续;这只会导致我需要完成的更高级的任务,如果我什至无法弄清楚这一点,这将很困难。
3 回答

米脂
TA贡献1836条经验 获得超3个赞
试试这个代码
import csv
with open ('CityPop.csv', 'r') as f:
reader = csv.reader(f, delimiter=",")
#read_data = f.read()
for line in reader:
print(line)
#record=line.strip().split(",")
#print (read_data)
f.close()
编辑正如拉尔夫所说“f.close()使用 with 块时不需要”

动漫人物
TA贡献1815条经验 获得超10个赞
我建议您按照 pythoncsv
模块文档中的示例进行操作:
import csvwith open('CityPop.csv') as f: csv_reader = csv.reader(f, delimiter=', ') for row in csv_reader: print ', '.join(row)
分析你的代码,有几个问题:
f.close()
使用with
语句不需要调用,退出with
块时文件会自动关闭您的打印语句应该在
with
块内,因为变量read_data
是在其中定义的您需要迭代
read_data
(for line in read_data:
),因为您已经使用过,f.read()
因此迭代f
不会产生任何结果你
record
每次都在覆盖,所以我不知道你为什么要那样做
添加回答
举报
0/150
提交
取消