You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python 3中将字典数组写入CSV文件?

解决方法

首先得把你那组单键字典的列表转成一个统一的大字典,不然处理起来容易乱:

project_index = [
    {'A': ['1', '2', '3']},
    {'B': ['4', '5', '6']},
    {'C': ['7', '8', '9']},
    {'D': ['10', '11', '12']},
    {'E': ['13', '14', '15']},
    {'F': ['16', '17', '18']}
]

# 转成统一字典
data_dict = {}
for item in project_index:
    key, value = next(iter(item.items()))
    data_dict[key] = value

下面给两种实现方式,按需选择:

方式一:用Python标准库csv(无需额外安装包)

import csv

# 提取列标题和对应的数据列
headers = list(data_dict.keys())
# 把各列的元素按行打包,确保每一行是各列对应位置的元素
rows = zip(*data_dict.values())

# 写入CSV文件
with open('result.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    writer.writerow(headers)  # 先写入表头
    writer.writerows(rows)    # 再写入所有行数据

方式二:用pandas(代码更简洁)

如果已经安装了pandas,直接这么写就行:

import pandas as pd

# 直接把字典转成DataFrame,再导出为CSV
df = pd.DataFrame(data_dict)
df.to_csv('result_pandas.csv', index=False, encoding='utf-8')

之前你遇到的格式问题,要么是没把分散的单键字典整合成统一结构,要么是没拆分数组里的元素,导致数据错位或者整个数组塞到一个单元格里。上面两种方法都能实现每个键作为列标题,数组里的每个元素单独占一个单元格,和你要的示例效果一致。

内容的提问来源于stack exchange,提问作者Lif

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 09:50:17