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

时间:2015-11-06 13:29:47

标签: python-2.7 csv pandas columnsorting

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

所以如果原始csv文件有以下列

"date" "department" "name" "title" "employee id"

我需要读取csv文件的行

"name",,,,,"department",,,,"date",,

我删除了我不需要的列:

del df["title"],def["employee id"]

我写了一堆空白栏目:

df[a] = '';
df[b] = '';
df[c] = '';

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

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

出来

date,department,,,,,,,,,,,name,,

我是否应该为这种特定类型的项目使用csv模块?我正在搜索文档,但无法确定我正在阅读的内容如何适用于我的任务

1 个答案:

答案 0 :(得分:4)

我认为reindex你的df会更容易,这会将cols按照你想要的顺序排列,并且列不存在的地方放NaN值:

df.reindex(columns=["name","a","b","c","department","d","e","f","date","g","h"]‌​).to_csv('outfile.csv', index=False,header=False)