使用Python合并CSV文件中的列

qnakjoqk  于 2023-04-28  发布在  Python
关注(0)|答案(1)|浏览(132)

我有一个CSV文件,有3列。使用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

任何帮助将不胜感激,谢谢!

dxxyhpgq

dxxyhpgq1#

这里有一种方法:

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个字段:date 1、time和date 2。
  • 表达式date1 or date2返回其中的非空字符串。

相关问题