如何在现有csv文件的第二列中添加新列(具有标题名称)?

时间:2018-12-11 07:03:24

标签: python csv

我正在尝试在现有csv文件的第二列(紧随第一列(ID)之后)添加新列及其对应的值。 我希望新列的名称为“ date”,值应为实际日期。例如,现在我有一个数据集,如下所示:

ID age gender income
A  20  male   20000
B  43  female 60000
C  35  female 50000
D  51  male   90000

所需的输出如下:

ID date     age gender income
A  20181210 20  male   20000
B  20181210 43  female 60000
C  20181210 35  female 50000
D  20181210 51  male   90000

由于我不是python专家(初学者),因此我搜索了很多帖子并收集了适用于我的情况的所有必要信息,并在下面提供了代码。但是这段代码给出的输出如下:

ID  age gender income 20181210
A   20  male   20000  20181210
B   43  female 60000  20181210
C   35  female 50000  20181210
D   51  male   90000  20181210

我的问题是: 1.如何添加列名“日期”? 2.如何在第二列添加新列? (特别是这个,我很难找到任何相关答案。)

这是我的代码:

file_r = open("read.csv", "r")
file_w = open("write.csv", "w")

date = "20181210"

for line in file_r:
    li = line.rstrip().split(",")
    li.append(date)

    out_str = ""
    for j in li:
        out_str += j + ","

    out_str =  out_str[0:-1] + "\n"
    file_w.write(out_str)

file_r.close()
file_w.close()

我已经搜索了很多小时,现在我很沮丧。 任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

您可以在熊猫中做到这一点。可能不是大文件的超级表现...

import pandas as pd
df = pd.read_csv("read.csv")
df['date'] = "20181210"
df = df[['ID', 'date', 'age', 'gender', 'income']]
df.to_csv("write.csv", index=False)