是否有建议拆分一长串数据并将其放在新列中?

时间:2018-10-28 20:50:32

标签: python csv python-3.6

我在CSV文件中有一个包含11000个实例的列表,我想将它们拆分并放入新列中。我不知道该怎么做。

顺便说一句,数据之间有空格将它们分开。

这是数据的一小部分。

47    769639.50
48    750000.00
49    403149.50
50   1321000.00
51    840000.00

52   2018060.00
53    740000.00
54    575900.00
55    250000.00
56    850000.00

57    759796.00
58    999029.00
59    610000.00
60    700000.00
61    540906.00

所需的输出是

47    769639.50  52   2018060.00  57    759796.00
48    750000.00  53    740000.00  58    999029.00
49    403149.50  54    575900.00  59    610000.00
50   1321000.00  55    250000.00  60    700000.00
51    840000.00  56    850000.00  61    540906.00

1 个答案:

答案 0 :(得分:1)

一种策略是在写输出文件之前先创建行组,然后zip组行:

result = []

with open('input.csv') as f:
  lines = [l.strip() for l in f.readlines()]
  num_groups = lines.count('') + 1
  group_len = lines.index('')
  # create groups of lines lists
  result = [lines[start * (group_len + 1) : start * (group_len + 1) + group_len] for start in range(num_groups)]

with open('output.csv', 'w') as of:
  for line in zip(*result):
    of.write('\t'.join(line) + '\n')

这为我们提供了以下输出文件:

47    769639.50 52   2018060.00 57    759796.00
48    750000.00 53    740000.00 58    999029.00
49    403149.50 54    575900.00 59    610000.00
50   1321000.00 55    250000.00 60    700000.00
51    840000.00 56    850000.00 61    540906.00