Я пытаюсь использовать df.to_csv () для добавления данных в csv. Я хотел бы использовать элегантный код для этого, однако возникает проблема. Время от времени мне приходилось получать словарь с ключами с разным порядком
import pandas as pd
# Simplified version of my function
def save_to_csv(dictionary, index):
df = pd.DataFrame(dictionary, index=[index])
header = index == 0
df.to_csv('test.csv', mode='a', header=header)
# I run some function, I get dict 'dict' => I want to save it into csv file
id = 0
dict = {'col_name_1': 1, 'col_name_2': 2, 'col_name_3': 3}
save_to_csv(dict, id)
# I run some function a second time, I get dict 'dict' => I want to append it into csv file
id = 1
dict = {'col_name_2': 2, 'col_name_3': 3, 'col_name_1': 1}
save_to_csv(dict, id)
# etc ...
Я получаю
,col_name_1,col_name_2,col_name_3
0,1,2,3
1,2,3,1
Вместо
,col_name_1,col_name_2,col_name_3
0,1,2,3
1,1,2,3
Я хотел бы используйте эту функцию в течение длительного периода времени, поэтому я хотел бы избежать взломов и по возможности иметь более чистое / надежное решение
Если у вас есть идея, которую мы будем очень признательны, спасибо!