【问题标题】:Using Python need to print in csv format使用 Python 需要以 csv 格式打印
【发布时间】:2016-05-26 17:37:28
【问题描述】:
{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 格式打印值。

【问题讨论】:

  • 添加更多关于您正在使用的输入和输出格式的详细信息
  • 什么是ResultId()?你希望输出看起来如何?请在 python shell 中制作一个可重现的示例。
  • 我从 mongodb 收到的类似输出。要求使看起来像 csv 格式的标题:- Test1 Resultid bugseverity Result1 9876002345 major 65ade 以同样的方式需要在 csv 中制作列表
  • 您在尝试执行此操作时遇到了什么具体问题?这不是一个“给我代码”的网站。
  • @takendarkk 我是编码新手,包括 python 和 mongodb,我的目的是知道如何开始。作为一个新人,我期待着这一切。

标签: mongodb python-2.7 pymongo


【解决方案1】:

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

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

但是,我建议使用csv.Dictwriter() 做这样的事情:

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 作为输出:

Test,_id,bugseverity
Result1,987600234565ade,major
Result1,987600234565ade,major
Result1,987600234565ade,major
Result2,987600234465ade,minor
Result2,987600234465ade,minor
Result2,987600234465ade,minor
Result3,9876002399999de,minor
Result3,9876002399999de,minor
Result3,9876002399999de,minor

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-04
    • 1970-01-01
    • 1970-01-01
    • 2014-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多