запись csv в python pandas, необходимо изменить порядок столбцов и добавить пустые столбцы

Я импортировал файл 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 для этого конкретного типа проекта? Я просматриваю документацию, но не могу понять, как то, что я читаю, применимо к моей задаче.


person mattrweaver    schedule 06.11.2015    source источник
comment
Я думаю, что будет проще переиндексировать после удаления столбцов: df.reindex(columns=["name","a","b","c","department","d","e","f","date","g","h"]).to_csv('outfile.csv', index=False,header=False)   -  person EdChum    schedule 06.11.2015
comment
Спасибо, это получилось!   -  person mattrweaver    schedule 06.11.2015


Ответы (1)


На мой взгляд, будет проще 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)
person EdChum    schedule 06.11.2015