属性错误:';列表';对象没有属性';拆分';用Python
我对这段代码有问题属性错误:';列表';对象没有属性';拆分';用Python,python,Python,我对这段代码有问题 import csv temp = open("townsfile.csv", "r") towns = temp.read() temp.close() print(towns) eachTown = towns.split("\n") print (eachTown) record = eachTown.split(",") for line in eachTown: record = eachItem.split(",") print(record)
import csv
temp = open("townsfile.csv", "r")
towns = temp.read()
temp.close()
print(towns)
eachTown = towns.split("\n")
print (eachTown)
record = eachTown.split(",")
for line in eachTown:
record = eachItem.split(",")
print(record)
newlist=[]
newlist.append(record)
newlist=[]
for eachItem in eachTown:
record = eachItem.split(",")
newlist.append(record)
print(newlist)
它返回这个错误
Traceback (most recent call last):
File "N:/Python practice/towns.py", line 10, in <module>
record = eachTown.split(",")
AttributeError: 'list' object has no attribute 'split'
回溯(最近一次呼叫最后一次):
文件“N:/Python practice/towns.py”,第10行,在
记录=eachTown.split(“,”)
AttributeError:“list”对象没有属性“split”
有人能帮我吗
eachTown = towns.split("\n")
此代码返回列表。列表没有属性拆分。你应该替换
record = eachTown.split(",")
像这样
records = [rec.split(",") for rec in eachTown]
但是,如果您开始使用读取此文件,则效果会更好。csv模块为您提供了此文本解析功能,您无需自己完成
import csv
with open("townsfile.csv", "r") as f:
reader = csv.reader(f, delimiter=',')
towns = list(reader)
print(towns)
您遇到的问题是
list.split()
不存在,您正在尝试使用str.split()
,但您已经将其拆分为str
的列表。您需要为列表中的每个str
执行此操作。因为eachTown
是一个城镇列表…eachTown
是一个列表,是的。为什么要将record=each.split(',')
三次?另外,不要再发明CSV读取轮。只要使用。我只是喜欢python,错误消息已经很清楚了!脚本将做什么?i、 e.您的CSV看起来像什么,您试图获得什么输出?请编辑问题以包含此内容。这不起作用?你能给我一个正确的,你认为会工作的类型错误:至少需要1个参数,得到0个,所以我缺少一个逗号