使用Python中的动态字符串重命名CSV文件头

时间:2016-09-16 21:51:23

标签: python csv

以下是我的CSV文件结构

ITEM   | ID             |  SET  | COUNT  |
------ | ------         |------ | ------ |
Value  | 44000001005    | 0     | 24     |
Value  | 10000000019659 | 0     | 29     |
Value  | 10000000019659 | 1     | 5      |

我想动态地从用户那里获取一个输入来编辑标题,所以如果我假设我已经采取了"编辑_"作为用户的输入,我得到的CSV文件如下所示,

EDIT_ITEM   | EDIT_ID        |  EDIT_SET  | EDIT_COUNT  |
------------| ---------------|----------- | ------------|
Value       | 44000001005    | 0          | 24          |
Value       | 10000000019659 | 0          | 29          |
Value       | 10000000019659 | 1          | 5           |

因此每个标题值将由用户输入"编辑_"附加。我可以使用" w.writerow"手动执行此操作,但不确定如何动态附加用户输入。

我对Python比较陌生,试图在Stack Overflow上找到很多答案,但无法得到任何可能对我有用的东西。我将不胜感激为此问题提供任何指导。

谢谢!

1 个答案:

答案 0 :(得分:0)

使用csv模块读取和编辑标题,然后将所有行写回新文件

import csv
with open("input.csv") as f, open("output.csv", "wb") as o:
    ui = raw_input("Enter  user input: ")
    reader = csv.reader(f)    
    header = reader.next()
    writer = csv.writer(o)
    new_header = map(lambda x:"{}{}".format(ui,x) ,header)
    writer.writerow(new_header)
    writer.writerows(reader)