设置index=False后Pandas仍给CSV添加列索引表头的问题
问题原因与解决方法
你的问题出在DataFrame的列名被默认写入CSV——虽然index=False去掉了行索引,但pandas默认会把自动生成的数字列名(0、1、2...)作为CSV首行输出,这和你期望的纯数据行不符。
因为你用pd.read_excel(excel_file_path, header=None)读取Excel时,pandas会给无表头的表格分配数字列名;而to_csv方法默认会将这些列名写入文件首行,这个行为和index=False的设置互不影响。
解决方法
修改to_csv的调用代码,添加header=False参数,禁止输出列名:
filtered_df.to_csv(csv_file_path, index=False, header=False, encoding='utf-8')
修改后生成的CSV就只会包含数据行(比如IMM,1,1,,0,0,,IM - 118,Artikelnummer,IM - 118,...),不会再出现列索引的首行。
内容的提问来源于stack exchange,提问作者pfeidewigo100
相关产品推荐
相关产品推荐

