使用pandas导出Excel每行到独立JSON文件时报错及内容重复问题问询
问题解决方法
错误原因分析
- 首版代码报错是因为
pandas.read_excel()没有index这个入参,指定读取行范围需要用skiprows、nrows参数,指定读取列用usecols而非columns。 - 调整后所有文件内容相同的核心问题是:未限定读取的行范围,且没有排除表头带来的干扰,导致遍历的行数据不符合预期。
可直接运行的修正代码
import pandas as pd # 读取Excel数据,nrows=10代表仅读前10行;如果Excel第一行是表头加header=0,没有表头加header=None # 只需要A列就保留usecols=['A'],不需要读取指定列直接删掉该参数即可 df = pd.read_excel("/fullpath/excel.xlsx", nrows=10, usecols=['A']) for idx, row in df.iterrows(): # force_ascii=False用于保留中文不转义,不需要可以删掉 row.to_json(f"{idx}.json", force_ascii=False)
额外适配说明
- 如果需要从第N行开始读10行,可以添加
skiprows=N参数,比如从第2行开始读就写skiprows=2 - 如果导出的JSON格式不符合预期,可以添加
orient参数调整结构,比如orient='records'输出数组格式,orient='index'输出键值对格式
内容的提问来源于stack exchange,提问作者Meowsleydale
相关产品推荐
相关产品推荐

