【发布时间】:2014-03-14 00:12:28
【问题描述】:
确定需要主要示例更新。
我有这个: Joining all rows of a CSV file that have the same 1st column value in Python (首先我必须为没有得到如何再次提高胎面而道歉......)
我有一个像这样的 x.CSV 文件: INT;INT2;STRING;STRING;STRING;STRING;STRING;STRING;STRING;STRING;STRING;and_so_on......
0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;-1.0;0;0;-1;-1.0
0;0;;;;;;;;;;;;;30.0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;
0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;160.0;;; ;;;;;;;;;;;;;;;;;;;;
0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0.0; ;;;;;;;;;;;;;;;;;;;;
0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0.0 ;;;;;;;;;;;;;;;;;;;;
0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1668.0;;;;;; ;;;;;;;;;;;;;;;;;;;;
0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1672.0;;;;; ;;;;;;;;;;;;;;;;;;;;
0;0;;;;;;;;;;;;;;;;;0.0;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;
0;0;;;;;;;;;;;;;;;;;;74.0;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;
1;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;0.0;;;;;;;;;;;;;
1;1;0.0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;
3;3;4.0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;
3;3;;;;;;;;;;;;;;;;;;;;;;;;;75.0;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;
5;5;0.0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;
5;5;;;;;;;;;;;;;;;;;;;;;;;;85.0;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;
现在,我需要一种方法将具有相同第一列名称的所有行合并为一列,例如:
INT;INT2;STRING;STRING;STRING;STRING;STRING;STRING;STRING;STRING;STRING;and_so_on......
0;0;;;;;;;;;;;;30.0;;;;;0.0;74.0;;;;;;;;;;;;;;;;1668.0;1672.0;;; 160.0;;;;;0.0;0.0;;;;;;;;;;;;;;-1.0;0;0;-1;-1.0
1;1;0.0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;0.0;;;;;;;;;;;;;
3;3;4.0;;;;;;;;;;;;;;;;;;;;;;;;75.0;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;
5;5;0.0;;;;;;;;;;;;;;;;;;;;;;;;85.0;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;
这是相同数量的列(即使“resultrow”0;0....可能有太多“;”因为我伪造它;-) 数字只在同一个索引行中出现一次,所以它是一种“合并同一个索引行” 我需要一些可以读取> 20k(也可以是> 100万)行长文件的东西。 压缩列表 并再次将文件写回磁盘。
帮助者只提示编码的方向,我无法:-/(还... :-) 怀着最大的敬意 - 我不编写代码 blush - 我可以阅读它但不会设计它。 我发布代码会 - 可以说很有趣:-)
我非常感谢您的帮助。 br //
【问题讨论】:
-
刚刚意识到我在文本中有一个标题,其他行是整数或文本。
-
你试过什么?如果您发布您拥有的代码,它会更容易为您提供帮助。
-
您可能需要解释“连接两行”的概念。对许多人来说,这意味着一个接一个地附加,但你似乎意味着不同的东西......更像是“对于每个字段,从两个选项中选择'最佳'值”,但那是什么“最超值?您想如何处理冲突?
-
做了一个重要的示例更新以试图澄清。我不想追加。我希望正如您所说的@twalberg 从同一索引行的不同行中选择值,并创建一个唯一的索引行,其中所有值都来自该索引。冲突“不应该”存在,但平均值会很好:-)