在python pandas中编写csv,需要更改列的顺序并添加空白列

mat*_*ver 4 csv python-2.7 pandas columnsorting

我已经将一个 csv 文件导入到 python 中,并且我正在使用 Pandas。我需要输出一个仅包含部分数据的新 csv 文件,并以不同的顺序使用空白列。新的csv文件将用于将数据从一个系统导入,数据需要排队。

因此,如果原始 csv 文件具有以下列

"date" "department" "name" "title" "employee id"
Run Code Online (Sandbox Code Playgroud)

我需要读取 csv 文件的行

"name",,,,,"department",,,,"date",,
Run Code Online (Sandbox Code Playgroud)

我删除了不需要的列:

del df["title"],def["employee id"]
Run Code Online (Sandbox Code Playgroud)

我写了一堆空白列:

df[a] = '';
df[b] = '';
df[c] = '';
Run Code Online (Sandbox Code Playgroud)

当我按照我想要的顺序将它们写入 csv 时

df.to_csv('outfile.csv', cols=["name","a","b","c","department","d","e","f","date","g","h"], index=False,header=False)
Run Code Online (Sandbox Code Playgroud)

它出来了

date,department,,,,,,,,,,,name,,
Run Code Online (Sandbox Code Playgroud)

我应该为这种特定类型的项目使用 csv 模块吗?我正在浏览文档,但无法弄清楚我正在阅读的内容如何适用于我的任务

EdC*_*ica 7

在我看来,reindex您的 df会更容易,这会将列按您想要的顺序放置,并且列不存在的位置将NaN值放在那里:

df.reindex(columns=["name","a","b","c","department","d","e","f","date","g","h"]??).to_csv('outfile.csv', index=False,header=False)
Run Code Online (Sandbox Code Playgroud)