我正在使用panda将json数据转换为csv格式,但是我希望列是按一定顺序排列的。现在,有时在json数据中,一些列不存在。所以,这是我目前使用的:
cols = ['a','b','c','d','e','f']
pd.DataFrame(pd.json_normalize(json)).to_csv(columns=cols)
有时,如果d
不存在,它会抱怨request failed because [d] is not in index
。有没有办法让panda忽略不存在的列,但仍然保持列顺序?顺便说一句,json包含嵌套对象,但最大只有一个子层。
因此,如果列缺失,列顺序仍应为a,b,c,d,e,f
,只是缺失列的所有行的值为空。例如,如果b
和d
缺失,则:
a,b,c,d,e,f
one,,three,,five,six
谢谢
1条答案
按热度按时间cwtwac6a1#
不妨试试:
如果您只需要
df
中的列,但顺序为cols
:示例(使用
pd.json_normalize
示例中的一个):然后:
请注意,
'age'
列不存在于df
中,因此CSV中的列为空。