python批量处理csv文件,并筛选符合条件的行
你好! 这是我的第一篇文章,最近在收集数据,需要筛选出csv文件中人类激酶数据,于是我想到用python批量筛选csv文件。于是有了这篇文章啦,欢迎各位大佬指正学习。
1、导入包
import os
import pandas
import glob
2、批量处理文件夹下的csv文件
这里我就直接放代码啦,注释在代码里面:
#file_path表示需要批量处理的多个csv文件的文件夹绝对路径
file_path=r'C:\csvSelectAll\data\Family K-S sites'
#files表示每一个需要处理的csv文件的绝对路径
files=glob.glob(os.path.join(file_path,"*.csv"))
#对每个csv文件进行批量筛选处理
for readerPath in files:
3、按列值筛选csv文件中的行
#对每个csv文件进行批量筛选处理
for readerPath in files:
#reader是每一个csv文件
reader=pandas.read_csv(readerPath)
#index_list储存了被筛选出来的每个行的索引值
index_list = []
#筛选条件(当KIN_ORGANISM的列值为HUMAN时)
for index, i in enumerate(reader['KIN_ORGANISM']):
if 'HUMAN' in i:
index_list.append(index)
df1 = reader.loc[index_list]
#将符合条件的所有行写入原文件路径(去掉索引值)
df1.to_csv(readerPath, index=False)
4、全部代码
import os
import pandas
import glob
#file_path表示需要批量处理的多个csv文件的文件夹绝对路径
file_path=r'C:\csvSelectAll\data\Family K-S sites'
#files表示每一个需要处理的csv文件的绝对路径
files=glob.glob(os.path.join(file_path,"*.csv"))
#对每个csv文件进行批量筛选处理
for readerPath in files:
#reader是每一个csv文件
reader=pandas.read_csv(readerPath)
#index_list储存了被筛选出来的每个行的索引值
index_list = []
#筛选条件(当KIN_ORGANISM的列值为HUMAN时)
for index, i in enumerate(reader['KIN_ORGANISM']):
if 'HUMAN' in i:
index_list.append(index)
df1 = reader.loc[index_list]
#将符合条件的所有行写入原文件路径(去掉索引值)
df1.to_csv(readerPath, index=False)
欢迎大家一起学习噢~