首页 > 解决方案 > 循环通过列数不一致的csv文件

问题描述

我试图弄清楚如何遍历列数不一致的 csv 文件,然后将列 [0] 到列 [1]、列 [0] 到列 [2] 的数据配对,依此类推。

CSV 示例:

ID, Value1, Value2, Value3, Value4
1, alfred, enrique, mark
2, robert, james
3, mike, jack, todd, buddy

写入 .txt 文件的预期输出:

1 + alfred
1 + enrique
1 + mark
2 + robert 
2 + james
3 + mike
3 + jack
3 + todd
3 + buddy

想到的第一个解决方案是在excel中用“abc”填充所有没有任何文本的值,然后当我为预期输出进行添加时,删除其中包含“abc”的所有行在写入 .txt 文件之前,但我认为这不是最好的方法......

标签: pythoncsvfor-loop

解决方案


您可以使用标准库 csv 文件阅读器: https ://docs.python.org/3/library/csv.html

具体来说,它说:

如果一行的字段多于字段名,则将剩余数据放在一个列表中,并使用 restkey 指定的字段名(默认为无)存储。如果非空白行的字段少于字段名,则缺失的值将用 restval 的值(默认为 None)填充。

然后,当您遍历列时,如果值为 None,则跳过。


推荐阅读