继续收到错误' list'对象没有属性' split'

时间:2014-04-07 10:31:21

标签: python python-2.7

在尝试逐行逐行拆分我的列表时,继续得到此拆分错误。

我有一个包含链接+20000链接的文件。这些链接位于名为"链接"

的列表中

到目前为止我的代码:

import networkx as nx

# Create graph
network_graph = nx.Graph()

path = []
with open('paths_finished.tsv','r') as tsv:
    paths = [line.strip().split('\t') for line in tsv]  
    newPath = paths[16:]


links = []    
for line in newPath:
    links.append(line[3:4])

newList = []

for i in links:
    newList.append(i.split(';'))

print newList

链接列表的长度= 51318。 我想分开" ; "在我列表中的每个链接中。

例如,文件中的第一个链接是:

['14th_century;15th_century;16th_century;Pacific_Ocean;Atlantic_Ocean;Accra;Africa;Atlantic_slave_trade;African_slave_trade'], 

然后我想逐字逐句拆分,所以我得到了:

['14th_century 15th_century 16th_century Pacific_Ocean Atlantic_Ocean Accra Africa Atlantic_slave_trade African_slave_trade'], 

1 个答案:

答案 0 :(得分:2)

第一件事 - 正如Martijn Pieters所说,你的缩进是关闭的。很难准确猜出你的意思,请修理它。但是:

paths = [line.strip().split('\t') for line in tsv]  

line.split(' \ t')已经返回一个列表。您将该列表放入path,因此path是列表。您可以在此处迭代该列表列表:

for line in newPath:
   links.append(line[3:4])

所以链接也将是一个列表列表。最后:

for i in links:
   newList.append(i.split(';'))

您尝试为split调用i - 这是一个列表。 split是str的成员函数,对于列表不存在 - 因此您的错误。