在Python中将简单的字典导出到Excel文件

21

我是Python的新手。我有一个简单的字典,其中键和值如下:

dict1 = {"number of storage arrays": 45, "number of ports":2390,......}

我需要将它们放入Excel表格中,如下所示:

number of storage arrays 45
number of ports          2390

我有一本非常大的词典。


只需使用“csv”模块将其导出为CSV,然后将其导入Excel即可。在Excel中选择“文件-另存为”将其保存为“.xlsx”文件。 - Burhan Khalid
3个回答

28
你可以使用pandas。
import pandas as pd

dict1 = {"number of storage arrays": 45, "number of ports":2390}

df = pd.DataFrame(data=dict1, index=[0])

df = (df.T)

print (df)

df.to_excel('dict1.xlsx')

1
如果我想在同一个Excel文件中追加类似的数据怎么办? - Harsha Biyani

14

这将把字典内容写入output.csv文件。第一列包含键,第二列包含值。

import csv

with open('output.csv', 'w') as output:
    writer = csv.writer(output)
    for key, value in dict1.items():
        writer.writerow([key, value])

您可以使用 Excel 打开 CSV 文件,并将其保存为任何格式。


2
绝妙的想法,应该在py3上使用dict1.items() - hsc
使用"w+"代替"wb",以便能够创建新文件而不仅仅是写入字节。 - Charles
1
使用以下代码:with open('output.csv', 'w') as output:,其中只需使用"w"。 - erfelipe

0
作为对@Daniel Timberlake的回答的扩展answer,这是我发现适用于我的方法。我只想将一个dict对象(行)列表保存到CSV文件中,如果需要,稍后可以将其转换为.xlsx格式。
from __future__ import annotations  # optional on Python 3.9+

from csv import DictWriter

def write_to_csv(rows: list[dict]):
    with open('./output.csv', 'w') as output:
        writer = DictWriter(output, fieldnames=rows[0].keys())
        writer.writeheader()
        writer.writerows(rows)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接