试图将 csv 读入列表。代码如下:import csvwith open('file.csv','r') as fin: reader = csv.reader(fin) mylist = list(reader)print (mylist)def gen_list(): with open('file.csv','r') as fin: reader = csv.reader(fin) mylist = list(reader) print (mylist)def main(): gen_list() return 0我的输出是:[['one','two','three']]Traceback():....line 11, in gen_listreader = csv.reader(fin)AttributeError: 'str' object has no attribute 'reader'我可以通过将“import csv”作为 gen_list 函数的第一行来防止发生此错误。为什么代码在放在函数中时不起作用?
2 回答

慕妹3242003
TA贡献1824条经验 获得超6个赞
原来我偶然在另一个函数中使用了 csv。一旦我更改了 csv,问题就消失了
功能:
def get_list(csv):
with open(csv,'rt') as fin:
for line in fin:
drList.append(gen_list(line))
return (drList)

白衣染霜花
TA贡献1796条经验 获得超10个赞
试试这个:
import csv
with open('file.csv','r') as fin:
reader = csv.reader(fin)
mylist = list(reader)
print (mylist)
def gen_list():
with open('file.csv','r') as fin:
reader = csv.reader(fin)
mylist = list(reader)
print (mylist)
def main():
gen_list()
return 0
看来,缩进reader的内open内gen_list是错误的
添加回答
举报
0/150
提交
取消