简体   繁体   English

将字典数据导出到csv文件

[英]Exporting dictionary data to a csv file

I have created a dictionary data type in Python: 我在Python中创建了一个字典数据类型:

selecteddatas = random.sample(numbers, 100)
    for data in selecteddatas:
        calls = random.choice(range(600))
        a[data] = {'time_stamp': str_now, 'calls': calls}

and I am trying to export it to a csv file, but its not working. 并且我正在尝试将其导出到csv文件,但无法正常工作。 Can anyone suggest me how to do it. 谁能建议我该怎么做。

A list of dicts with the same keys can be easily converted to a pandas DataFrame. 具有相同键的字典列表可以轻松转换为pandas DataFrame。 These can then be easily converted to a csv. 然后可以将它们轻松转换为csv。

import pandas as pd
pd.DataFrame(a).to_csv(filepath,index=False)

Without pandas , using csv.DictWriter : 如果没有pandas ,请使用csv.DictWriter

import random, csv, datetime

selecteddatas = random.sample(list(range(100)), 100)
a = {}
for data in selecteddatas:
    calls = random.choice(range(600))
    a[data] = {'time_stamp': datetime.datetime.now(), 'calls': calls}

with open('data.csv', 'w', newline='') as csvfile:
    writer = csv.DictWriter(csvfile, fieldnames=['time_stamp', 'calls'])

    writer.writeheader()
    for k in a.keys():
        writer.writerow(a[k])

The data.csv contains: data.csv包含:

time_stamp,calls
2018-07-24 17:54:01.989054,273
2018-07-24 17:54:01.989059,290
2018-07-24 17:54:01.989062,51
2018-07-24 17:54:01.989064,188
2018-07-24 17:54:01.989067,518
...and so on.

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM