如何将Python字典转换为键作列名的CSV文件并解决from_dict()报错问题
报错原因
pandas使用from_dict方法创建DataFrame时,如果传入的字典所有值都是单个标量(字符串、数字等非可迭代对象),pandas无法自动确定数据的行索引,因此会抛出ValueError: If using all scalar values, you must pass an index错误。
解决方案
以下三种方法都可以解决该问题,可按需选择:
- 方法1:调用
from_dict时手动传入index参数,直接指定行号 - 方法2:将字典的每个值修改为仅含单个元素的列表,pandas会自动识别为单行数据
- 方法3:将整个字典包裹在列表中传入DataFrame,无需修改原有字典结构
符合需求的完整代码
import pandas as pd # 注意不要用dict作为变量名,避免覆盖Python内置关键字 data_dict = { 'Name' : 'ABC', 'Number': 123} # 选择方法1,直接指定行索引为1,匹配期望的输出格式 df = pd.DataFrame.from_dict(data_dict, index=[1]) print(df) df.to_csv(r'C:\Users\Desktop\data.csv')
运行上述代码后导出的CSV文件就会和你期望的格式完全一致。
内容的提问来源于stack exchange,提问作者akw
相关产品推荐
相关产品推荐

