使用Python需要以csv格式打印

时间:2016-02-15 17:39:31

标签: mongodb python-2.7 pymongo

{u'Test1': u'Result1', u'_id': ResultId('987600234565ade'), u'bugseverity': u'major'}
{u'Test2': u'Result2', u'_id': ResultId('987600234465ade'), u'bugseverity': u'minor'}
{u'Test3': u'Result3', u'_id': ResultId('9876002399999de'), u'bugseverity': u'minor'}

上面给出了在mongodb上运行查询后收到的输出。使用此输出我需要使用python以csv格式打印值。

1 个答案:

答案 0 :(得分:1)

我稍微将输入数据更改为一种在技术上更有意义的形式。

此外,我删除了a,因为这似乎是一种特殊的数据类型,需要在从数据库接收响应之后,在进行任何进一步的数据处理之前单独转换为字符串。

但是,我建议使用csv.Dictwriter()执行类似的操作:

ResultId()

import csv # changed sample data key `Test` in order to have this key equal in all responses # which would make more sense technically data = [{u'Test': u'Result1', u'_id': '987600234565ade', u'bugseverity': u'major'}, {u'Test': u'Result2', u'_id': '987600234465ade', u'bugseverity': u'minor'}, {u'Test': u'Result3', u'_id': '9876002399999de', u'bugseverity': u'minor'}] # define the column names fieldnames = ['Test', '_id', 'bugseverity'] with open('dict.csv', 'w') as f: writer = csv.DictWriter(f, fieldnames=fieldnames) writer.writeheader() for d in data: for key, value in d.items(): writer.writerow(d) 作为输出:

dict.csv