python - 嵌套字典到 csv excel

标签 python excel csv dictionary

我尝试了许多不同的方法来在 Excel 中获得以下结果,

              Monday Tuesday Wednesday Thursday Friday Saturday Sunday
Breakfast     0      0       289       0        265    0         0
Lunch         832    0       0         0        0      0         0
Dinner        201    0       0         0        0      0         620

来自以下词典:

 my_dict = {"Monday":{"Breakfast": 0, "Lunch": 832, "Dinner": 201},
       "Tuesday":{"Breakfast": 0, "Lunch": 0, "Dinner": 0},
       "Wednesday":{"Breakfast": 289, "Lunch": 0, "Dinner": 0},
       "Thursday":{"Breakfast": 0, "Lunch": 0, "Dinner": 0},
       "Friday":{"Breakfast": 265, "Lunch": 0, "Dinner": 0},
       "Saturday":{"Breakfast": 0, "Lunch": 0, "Dinner": 0},
       "Sunday":{"Breakfast": 0, "Lunch": 0, "Dinner": 620}}

但是我还没有得到我想要的结果。我所做的尝试之一是无效的:

import csv
import itertools

headings = (d.keys()[0] for d in my_dict)
entries = (sorted(my_dict[index][col].items()) for index, col in 
enumerate(headings))

with open('output.csv', 'wb') as f_output:
    csv_output = csv.writer(f_output)
    csv_output.writerow(['items'] + headings)

    for cols in itertools.iziplogest(*entries, fillvalue=['<n/a>']*len(entries[0])):
         csv_output.writerow([cols[0][0]]+[col[1] for col in cols])

我是编程新手,对面向对象还不太熟悉,所以我想找到一个尽可能直接的答案。谢谢!

最佳答案

尝试使用 pandas 来实现此目的!

如果您还没有该软件包,请安装它。

pip install pandas 

然后执行以下代码:

import pandas as pd
df = pd.DataFrame.from_dict(data=my_dict)
df=df[['Monday','Tuesday', 'Wednesday','Thursday','Friday','Saturday','Sunday']]
df.to_csv('output.csv',index=False)

您应该获得如下所示的 csv:

周一周二周三周四周五周六周日 早餐 0 0 289 0 265 0 0 晚餐 201 0 0 0 0 0 620 午餐 832 0 0 0 0 0 0

就是这样,您应该有一个您需要的 csv!

关于python - 嵌套字典到 csv excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43910282/

相关文章:

vba - 如何在Excel VBA中为图表选择多个范围?

php - 如何将带有图像的csv数据插入mysql数据库

javascript - 在 PHP 中将 Excel 转换为 PDF

mysql - 处理 csv 的最佳方法,为 mySql 做准备

python - Eigen + MKL 或 OpenBLAS 比 Numpy/Scipy + OpenBLAS 慢

vba - *.xlam 加载项和打开加载项的新 VBA 项目/新 Excel 实例中缺少引用

c# - 如何在 EPPlus 中对行/列进行分组

python - ValueError:形状 (20,1) 和 (2,1) 未对齐:1 (dim 1) != 2 (dim 0)

Python:Windows 上的 svndumpfilter2 和换行符

python - 创建虚拟环境时传递给 venv.create() 的参数无效