我有 CSV 文件中的多行需要合并以创建一个列表。我的数据集将如下所示;column 1 column 2 column3 column 4 ....... all the way to column 10A 1 2 3 4 5 6 7 8 9 10B 5 10 15 16 17 18 19 20目前我的代码如下所示:cd1 = []cd2 = []cd3 = []cd4 = []cd5 = []cd6 = []cd7 = []cd8 = []cd9 = []cd10 = []#create lists with values from rows for row in physiciancounts: patID.append(row[0]) cd1.append(row[2]) cd2.append(row[3]) cd3.append(row[4]) all the way till row 10# then I'll merge it using zip我想知道是否有一种更Pythonic的方法来做到这一点,而不是创建多个列表并将它们合并在一起。输出看起来像这样:(1,2,3,4,5,6,7,8,9,10)(5,10,15,16,17,18,19,20)我不包括第一列,因为它需要是一个单独的列表。我没有收到错误;我只是想看看是否有更好的方法来做到这一点。仍然是 python 的新手,所以我很挣扎。我也无法在我正在做的事情范围内执行一行 for 循环。
1 回答
慕村225694
TA贡献1880条经验 获得超4个赞
如果我正确理解你的问题,只需添加另一个循环。
column_count = 10
cd = [[]] * column_count
for row in physiciancounts:
for field in range(column_count):
cd[field].append(row[field])
这也不必要地收集第二列(您在问题中称之为“第一”,即索引 1);如果你想避免这种情况,也许可以在循环if field != 1:内添加for。
你的问题也不清楚是10列还是11列;如果需要的话也许可以使用column_count = 11。
添加回答
举报
0/150
提交
取消