无需Pandas DataFrame,如何向Excel/CSV指定列写入数据?
解决方法
错误原因
- 代码里
data.loc['Price']是试图给行赋值,但实际要操作的是列,方向搞反了 - 目标列的真实名称是
Price(Search by this column name),不是Price,列名匹配错误 - 若
pricelist长度和表格行数不一致,也会触发列数不匹配的报错
修正后的代码
import pandas as pd # 读取Excel文件 data = pd.read_excel(filenames) # 用真实列名定位目标列 target_col = 'Price(Search by this column name)' # 先校验列表长度匹配,避免报错 if len(pricelist) == len(data): data[target_col] = pricelist else: print(f"列表长度{len(pricelist)}与表格行数{len(data)}不匹配") # 保存为CSV(建议换文件名,避免覆盖原Excel文件) data.to_csv("output.csv", index=False, encoding='utf-8')
补充说明
- 如果要直接覆盖原Excel文件,把最后一行的
to_csv改成to_excel(filenames, index=False) - 必须保证
pricelist的元素数量和表格行数完全一致,否则会出现赋值不匹配问题
内容的提问来源于stack exchange,提问作者Martin
相关产品推荐
相关产品推荐

