使用Python将CSV文件中的列组合在一起

时间:2015-07-16 19:28:14

标签: python csv merge

我有一个包含3列的csv文件。使用Python,我想将第3列中的数据合并到第1列并删除第3列。

示例:

以下是我所拥有的:

date, time, date
1/10, 5:30, 
    , 6:00, 1/10
1/11, 4:30, 
1/11, 5:00

这就是我想要的:

date, time
1/10, 5:30 
1/10, 6:00
1/11, 4:30 
1/11, 5:00

非常感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

这是一种方法:

import csv

with open('in.csv') as infile, open('out.csv', 'wb') as outfile:
    reader = csv.reader(infile)
    next(reader)  # Skip the header
    writer =csv.writer(outfile)
    writer.writerow(['date', 'time'])  # Write the header

    for row in reader:
        # Remove white spaces in each field and assign to vars
        date1, time, date2 = [x.strip() for x in row]
        writer.writerow([date1 or date2, time])

注释

  • 我打开输入和输出文件,分别从这些文件创建CSV阅读器和编写器。
  • 对于读者来说,我跳过了标题;对于作者,我写了一个新的标题。操作简单。
  • 我假设输入中的每一行总是包含3个字段:date1,time和date2。
  • 表达式date1 or date2返回其中两个非空字符串。