Python将.csv转换为.xlsx时生成额外列,如何删除该列?
解决CSV转Excel时多出额外列的问题
你看到的额外列是pandas默认导出的DataFrame索引列,只需在to_excel方法中添加index=False参数就能去掉它。另外你的代码还有两处小问题需要修正:
- 第一个
os.walk循环末尾缺少冒号 - 未导入pandas库(代码里用到了
pd.read_csv,必须先导入)
修改后的完整代码如下:
import os import pandas as pd # 新增导入pandas库 for root, dirs, files in os.walk("C:/Processed_Report/", topdown=False): # 补上循环末尾的冒号 for name in files: base_name, ext = os.path.splitext(name) if ext == ".csv": # 用精确匹配替代模糊匹配,避免误识别非标准CSV文件 df = pd.read_csv(os.path.join(root, name)) df.to_excel(os.path.join(root, 'Test.xlsx'), index=False) # 添加index=False参数去掉索引列
关键说明:
index=False:明确告诉pandas不要将DataFrame的索引列写入Excel文件- 替换
ext in ".csv"为ext == ".csv":避免匹配到.csv.bak这类带后缀的非目标文件
内容的提问来源于stack exchange,提问作者QuickSilver42
相关产品推荐
相关产品推荐

