Python:解析多个csv文件并跳过没有关键字的文件

标签 python csv

我正在尝试在 python 上读取一些 .csv 字段数据进行后处理,我通常只使用类似的东西:

for flist in glob('*.csv'):
    df = pd.read_csv(flist, delimiter = ',')

但是,我需要过滤文件中某处包含“Run_Termminate”的坏文件,并完全跳过该文件。我对 python 还很陌生,所以我不熟悉它的所有功能,任何输入将不胜感激。谢谢。

最佳答案

您可以做的是首先在内存中完全读取文件(使用io.StringIO类似文件的对象,并在文件中的任何位置查找Run_Termulated字符串(脏,但应该没问题),

然后将句柄传递给 read_csv (因为您可以传递句柄或文件名),这样您就不必再次从文件中读取它。

import pandas as pd
import glob
import io

for flist in glob('*.csv'):
    with open(flist) as f:
        data = io.StringIO()
        data.write(f.read())
    if "Run_Terminated" not in data.getvalue():
        data.seek(0)  # rewind or it won't read anything
        df = pd.read_csv(data, delimiter = ',')

关于Python:解析多个csv文件并跳过没有关键字的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42069368/

相关文章:

python - 使用 Matplotlib.image 自定义颜色图

python - Plotly 中条形图的单独标记条

python - 如何在单击 n 次后禁用所有单选按钮?

Python CSV 查找平均花费时间

python - 不区分大小写的 pandas dataframe.merge

python - 可以用 Python 表示的最古老的时间是什么时候?

csv - ArangoDB 将 csv 导入边缘(图表)

JavaFX - TableView 中的不可见数据

直接从控制台sql查询结果到csv文件

python - 循环和科拉茨猜想