首页 > 解决方案 > python将额外的列添加到现有的csv并用空值填充列

问题描述

我有这个 CSV:

一个
1 3
2 4

我想添加 2 个新标题,并为每个现有行添加一个新列的空值:

“列 1” col2 新1 新 2
“时间戳” “不适用”
“不适用” “字符串元素”
2 “细绳”

平面 CSV 以逗号分隔:

"column1",col2
"timestamp","N/A"
"N/A","string element"
2,"string"

我试过了,但它删除了所有双引号和“N/A”值

import pandas as pd
df = pd.read_csv(fileName)
df["New1"] = ""
outcsv=fileName
df.to_csv(outcsv, index=False)

输出是:

column1,col2,New1
timestamp,
,string element
2,string

但我需要这个输出:

"column1",col2,New1,New2
"timestamp","N/A",,
"N/A","string element",,
2,"string",,

标签: pythoncsv

解决方案


此代码提供所需的输出。

keep_default_na 保留 N/A。quoting = csv.QUOTE_NONE 保留引号。

import pandas as pd
import csv as csv
fileName = "a.txt"
df = pd.read_csv(fileName,keep_default_na=False, quoting=csv.QUOTE_NONE)
df["New1"] = ""
df["New2"] = ""
outcsv = fileName
df.to_csv(outcsv, index=False,quoting=csv.QUOTE_NONE)

推荐阅读