Python如何在CSV输出时删除不需要的列
问题解决方法
你当前代码导出全部字段的核心原因是keys = googlenews.results()[0].keys()获取了接口返回的所有字段,只需手动指定需要保留的字段列表,同时给DictWriter添加忽略额外字段的参数即可完成需求,具体操作步骤如下:
- 第一步:先确认所有可用字段,运行以下代码打印返回结果的全部字段名,从中筛选你需要保留的字段:
# 执行后控制台会输出所有可选择的字段名 print(googlenews.results()[0].keys())
- 第二步:替换原有获取key的逻辑,手动指定保留字段,同时添加忽略非目标字段的参数,避免程序报错,完整修改后代码示例如下:
import csv from GoogleNews import GoogleNews googlenews = GoogleNews() googlenews.set_encode('utf_8') googlenews.get_news('Trump') # 此处替换为你实际需要保留的字段名即可,以下为示例字段 required_keys = ['title', 'media', 'date', 'link'] with open('Outputfile.csv', 'w', newline='', encoding='utf-8') as file: # extrasaction='ignore'参数作用是忽略未在required_keys中声明的字段 alpha = csv.DictWriter(file, required_keys, extrasaction='ignore') alpha.writeheader() alpha.writerows(googlenews.results())
上述示例中required_keys列表内的字段仅为参考,你可以根据第一步打印出的字段列表自由调整需要保留的内容。
内容的提问来源于stack exchange,提问作者Dean James
相关产品推荐
相关产品推荐

