Python爬虫记录保存至CSV时重复生成列的解决咨询
解决爬虫CSV追加数据时生成额外列的问题
问题根源是你调用to_csv时默认保存了DataFrame的索引,每次追加后,索引会被当成普通列写入文件,下次读取时就会多出类似Unnamed: 0的列,反复操作列会越来越多。
修复方案
1. 修改代码,禁止保存索引
在to_csv方法里加上index=False参数,这样就不会把索引写入CSV文件了:
Data = [[Category,Headlines,Author,Source,Published_Date,Feature_Image,Content,url]] cols = ['Category','Headlines','Author','Source','Published_Date','Feature_Image','Content','URL'] try: opened_df = pd.read_csv('C:/Users/Public/pagedata.csv') # 清理已有的多余索引列(如果之前已经产生) if 'Unnamed: 0' in opened_df.columns: opened_df = opened_df.drop('Unnamed: 0', axis=1) opened_df = pd.concat([opened_df,pd.DataFrame(Data, columns = cols)]) except: opened_df = pd.DataFrame(Data, columns = cols) # 关键:添加index=False,不保存索引 opened_df.to_csv('C:/Users/Public/pagedata.csv', index=False)
2. 清理已有CSV的多余列
如果你的pagedata.csv已经有了多余的索引列,要么手动用表格工具删除,要么运行上面的代码自动清理一次,之后再执行修改后的代码就不会再产生新的多余列了。
小提醒
你代码里Data的最后一个元素是url,但cols里对应的是URL,大小写不一致,虽然当前能正常对应,但建议统一成相同的命名(比如都用URL),避免后续出现列不匹配的问题。
内容的提问来源于stack exchange,提问作者Info Rewind
相关产品推荐
相关产品推荐

