2017-10-10 35 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

相關問題