首页 > 解决方案 > 使用python在csv文件中添加一列

问题描述

  1. 我正在尝试在列号 E 的现有 CSV 文件名上插入一列作为 test.csv。
  2. 如果列 E 已被占用,我需要将该列向右移动并插入新列。
  3. 列头应为日,列应填写当前日期

最新数据

姓名 年龄 地点 学校 Adam 12 abc xyz eve 14 abc xyz Joy 12 abc xyz

急需

Name    Age     location    school  Day
Adam    12      abc         xyz     =today()
eve     14      abc         xyz     =today()
Joy     12      abc         xyz     =today()

我通常会有 2000 行

我尝试了以下对我不起作用的代码

import csv
Path = 'C:\\Users\\saquib.khan\\Desktop\\Profile_All\\Demo\\New'
infilename = Path + '\\Test.csv'
outfilename = Path + '\\Out1.csv'

 with open(infilename, 'rb') as fp_in, open(outfilename, 'wb') as fp_out:
 reader = csv.reader(fp_in, delimiter=",")
 writer = csv.writer(fp_out, delimiter=",")

 headers = next(reader)  # read title row

 headers[E:E] = ['New Label']

 writer.writerow(headers)

 for row in reader:
 row[E:E] = [0]
 writer.writerow(row)

标签: pythoncsv

解决方案


b您正在以模式(bytes而不是text模式)打开 2 个文件。你这样做是有原因的吗?

您是否尝试过以文本模式打开它们?

with open(infilename, 'r') as fp_in, open(outfilename, 'w') as fp_out:

它在这种情况下有效吗?


推荐阅读