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()

有什么想法?在


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部