Python如何批量读取CSV文件并写入TXT?

1、文件夹 mycsv 有多个 .CSV 文件。
2、.CSV文件有二个列:AAA,BBB
3、读取所有CSV文件的BBB列
4、如果值为ok,就把这行对应AAA列中的内容,另存入A.txt文件中。
图片描述

阅读 22k
4 个回答

直接用python 的 csv 模块即可。用DictReader类,转换成迭代对象更容易操作。

import csv
with open("1.csv") as cfile:
    reader = csv.DictReader(cfile)
    f = open("A.txt", "w")
    for row in reader:
        if row.get("BBB") == "OK":
            print row.get("AAA")
            f.write(row.get("AAA") + "\n")

如果是一次性的任务,直接用命令:cat mycsv/*.csv > all.csv,合并成一个csv文件,直接读取,过滤,保存即可。

import pandas as pd

df = pd.read_csv('all.csv')
df = df.query('BBB=="OK"')
df = df.drop(['BBB'], axis=1)
df.to_csv('A.txt', index=False)

非常感谢。写的太精简了。牛。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏