python把dict转为dataframe,将python OrderedDict转换为datafram
我的記錄OrderedDict,如下所示:
my_record = OrderedDict([ (u'FIR_ID', '111249'), (u'FIR_TYPE', 'ORG')])
我需要把它加載到數據庫中,所以我想把數據集轉換成一個數據幀,然后,轉換成一個CSV文件,以便于數據庫加載。但是,當我做type(my_record)時,我得到:
這意味著它是一個類對象。如果是collections.OrderedDict類型,我可以做一個DataFrame(my_record)。我使用的是python2.x。我能把這個OrderedDict轉換成DataFrame?在
編輯
多虧了nosklo的代碼,錯誤消失了;列標題在那里,但是值丟失了。我提取了10條記錄如下:
^{pr2}$
然后csv.DictWriter()生成包含以下內容的csv:,,,...,,,,,,,,,,,,,,,,
看起來像是鑰匙的完整列表。文件末尾有許多行“,,,,”表示缺少值。在
更新
我現在的代碼是:records = list(records)
with open('/Users/.../.../RP_test_5.txt', 'w') as f:
cf = csv.DictWriter(f,
ravenpackapi.models.fields.ANALYTICS_FIELDS,
extrasaction='ignore')
cf.writeheader()
cf.writerows(r.data for r in records)
由于缺少值,我嘗試:for r in records: r.data
成功地給了我我需要的字典。所以我不明白為什么,我不能寫任何值到我的csv。會是那樣嗎ravenpackapi.models.fields.ANALYTICS_FIELDS
給了我[,
,
,
,...
鑒于,r.數據來自for r in records: r.data
給了我{u'RP_ENTITY_ID': u'91C82E',
u'RP_POSITION_ID': None,
u'RP_SOURCE_ID': u'C98333',
u'RP_STORY_EVENT_COUNT': 17,
u'RP_STORY_EVENT_INDEX': 5,
u'RP_STORY_ID': u'54F16F66850FB15F838629FD0C41F1CD',
u'SOURCE_NAME': u'Ticker Report',
u'SUB_TYPE': None,
u'TIMESTAMP_UTC': u'2018-06-30 00:03:10.457',...,}
順序不同,和/或密鑰的格式不同?在
u'TIMESTAMP_UTC'與{}
這起作用了records = list(records)
for r in records: r.data
with open('/Users/.../RP_test_6.txt', 'w') as f:
cf = csv.DictWriter(f,
r.data.keys(),
extrasaction='ignore')
cf.writeheader()
cf.writerows(r.data for r in records)
我相信有更好的方法for r in records: r.data
以及r.data.keys()
有什么想法?在
總結
以上是生活随笔為你收集整理的python把dict转为dataframe,将python OrderedDict转换为datafram的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: python typeerror con
 - 下一篇: oracle 根据spid查sql,探讨