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

疯子哥哥
  • 10

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

回复
阅读 15.7k
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)

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

你知道吗?

宣传栏