我正在尝试在 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/