【发布时间】:2020-01-10 04:36:12
【问题描述】:
我是 python 新手,我正在尝试编写一个管道来捕获在同一行中具有“R”和“yes”的所有 ID。
我有多个包含以下模式的 csv 文件:
CSV文件1
"ID1","R","","","","","yes"
"ID2","S","","","","","yes"
CSVFile2
"ID1","animal","R","","","","","","","","yes"
CSV文件3
"ID1","animal","fish","S","","","","","","","yes"
"ID2","animal","dog","R","","","","","","","yes"
使用正则表达式,我可以用 R 捕获所有行,是的:
input = open(sys.argv[1], 'r')
for line in input:
if re.match(r'^(?=.*(\bR\b)+)(?=.*(\byes\b)+)', line) is not None:
print (line)
但是,如果我将其转换为 pandas 数据框,有没有一种方法可以捕获所有具有 R 和 yes 的行,而不必每次都指定该列名,因为并非所有文件都具有相同的列数?
【问题讨论】:
标签: python regex python-3.x pandas