weixin_44157032 2022-10-20 16:40 采纳率: 68.8%
浏览 12
已结题

Python 怎么根据一个csv文件对另一个csv文件进行修改。

test1.csv

img

test2.csv

img

现在我想删除test1.csv中在test2.csv里没有的id的行,也就是呈现下图的效果

test1.csv

img

test1_csv = csv.DictReader(open('./test1.csv','r'))
test1 = set(i.get('id') for i in test1_csv)

test2_csv = csv.DictReader(open('./test2.csv','r'))
test2 = [i for i in test2_csv if i.get('id') in test1]

with open('./test1.csv','w') as file:
    writer = csv.DictWriter(file, test2[0].keys(), lineterminator='\n')
    writer.writeheader()
    writer.writerows(test2)

上面是我尝试的代码,如果test1.csv中没有age列,该代码是可以的,但是多了age列后,就会报错。请问该如何做呢?

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-10-20 17:40
    关注
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月22日
  • 修改了问题 10月20日
  • 创建了问题 10月20日

悬赏问题

  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?