【发布时间】:2021-08-30 15:11:06
【问题描述】:
我有一个包含 twitter 用户和关注者列表的文本文件。它在第一个元素中包含 twitter 用户和关注者,它看起来像下面这样:
(user, follwer1,follower2,follower3,....)
我打算使用 networkx 对此进行一些分析,但在此之前我需要将数据重新格式化为具有 2 列的 csv,其中第 1 列是用户(所以这将是每个重复的用户 ID行)和列 b 将是跟随者(见下文):
| User | Follower |
| -----|--------- |
| user | Folower1 |
| user | Folower2 |
最初所有数据都存储为字符串,因此我将其转换为列表。我试图做的是把它转换成一个看起来像这样的嵌套列表:
[[user,follower],[user,follower2],[user,follower3]....]
然后转换为 datframe 并将其写入 csv 文件。我在创建嵌套循环时遇到了麻烦,我似乎无法正确地将原始列表的第一个元素添加到新的嵌套列表中。这是我到目前为止所尝试的
lines = [] #original list
matrix = [] #nested list
matrix.append([]) #append blank list
for line in lines: #loop through lines in text file
line = list(line.split(',')) #split line by commas to create a list
line1 = line[0] #create variable that contains user id i.e. first element of list
for i in range(len(line)): #loop through list
matrix[i]= line(i)
matrix[i].append(line1)
提前致谢
【问题讨论】:
-
为什么要在第 9 行通过 for 循环附加整个列表?你可以像
matrix=line一样做,还有什么是第 10 行的line(i)?
标签: python list networkx nested-lists