2017-10-10 49 views
-3
没有属性“分裂”

我有这段代码AttributeError的:“名单”对象有在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) 

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' 

谁能帮我这个

+0

因为'eachTown'是一个城镇列表... – TerryA

+2

'eachTown'是一个列表,是的。你为什么要记录每个 .split(',')'三次? –

+2

另外,不要重新发明CSV阅读轮。只需使用['csv'模块](https://docs.python.org/3/library/csv.html)。 –

回答

0
eachTown = towns.split("\n") 

此代码返回列表。列表没有属性拆分。你应该,如果你开始使用module csv用于读取这个文件替换

​​

这样

records = [rec.split(",") for rec in eachTown] 

不过还好。

0

csv模块为您提供了此文本解析功能,您不需要自己动手。

import csv 
with open("townsfile.csv", "r") as f: 
    reader = csv.reader(f, delimiter=',') 
    towns = list(reader) 

print(towns) 

你的问题是,list.split()不存在,你要使用str.split()但你已经把它分割成strlist A S。您需要为列表中的每个str执行此操作。

+0

这不起作用?你可以请给我正确的,你认为会正常工作TypeError:预计至少有1个参数,得到0 – Teacher

+0

Sotty我错过了一个逗号 – Adirio

相关问题