属性错误:';列表';对象没有属性';拆分';用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个,所以我缺少一个逗号