我想做什么:
我想要做的是我有一个很大的.csv文件。我想根据BB列中的常见记录将这个大csv文件分解为许多小文件,其中HH列中包含1,以及HH列中包含0的所有不常见记录。
因此,所有文件都将包含BB列中的公共记录,其中HH列中包含1,并且所有不常见的记录在BB列中没有记录,并且在HH列中包含0。文件名应基于第2列(BB)的通用记录。请看下面的情节。 任何建议的想法都受到高度赞赏。
bigFile.csv:
AA BB CC DD EE FF GG HH
12 53 115 10 3 3 186 1
12 53 01e 23 3 2 1
12 53 0ce 65 1 3 1
12 53 173 73 4 2 1
12 59 115 0 3 3 186 1
12 59 125 0 3 3 186 1
12 61 01e 23 3 2 1
12 61 b6f 0 1 1 1
12 61 b1b 0 6 5 960 1
12 68b 95 3 5 334 0
12 31a 31 2 2 0
12 221 0 4 5 0
12 12b 25 5 4 215 0
12 a10 36 5 1 0
我的预期结果文件如下:
53.csv:
AA BB CC DD EE FF GG HH
12 53 115 10 3 3 186 1
12 53 01e 23 3 2 1
12 53 0ce 65 1 3 1
12 53 173 73 4 2 1
12 68b 95 3 5 334 0
12 31a 31 2 2 0
12 221 0 4 5 0
12 12b 25 5 4 215 0
12 a10 36 5 1 0
59.csv:
AA BB CC DD EE FF GG HH
12 59 115 0 3 3 186 1
12 59 125 0 3 3 186 1
12 68b 95 3 5 334 0
12 31a 31 2 2 0
12 221 0 4 5 0
12 12b 25 5 4 215 0
12 a10 36 5 1 0
61.csv:
AA BB CC DD EE FF GG HH
12 61 01e 23 3 2 1
12 61 b6f 0 1 1 1
12 61 b1b 0 6 5 960 1
12 68b 95 3 5 334 0
12 31a 31 2 2 0
12 221 0 4 5 0
12 12b 25 5 4 215 0
12 a10 36 5 1 0
答案 0 :(得分:0)
您应该查看csv模块。您可以逐行读取输入文件,并根据BB列对每一行进行排序。这对于字典来说应该很容易,字典的键是BB列中的值,值是包含该行信息的列表。然后,您可以使用csv模块将这些列表写入csv文件。