【发布时间】:2018-09-25 14:28:14
【问题描述】:
我有一个大约 1000 行的 .csv 文件,如下所示:
id,first_name,last_name,email,gender,ip_address,birthday
1,Ced,Begwell,cbegwell0@google.ca,Male,134.107.135.233,17/10/1978
2,Nataline,Cheatle,ncheatle1@msn.com,Female,189.106.181.194,26/06/1989
3,Laverna,Hamlen,lhamlen2@dot.gov,Female,52.165.62.174,24/04/1990
4,Gawen,Gillfillan,ggillfillan3@hp.com,Male,83.249.190.232,31/10/1984
5,Syd,Gilfether,sgilfether4@china.com.cn,Male,180.153.199.106,11/07/1995
到目前为止,我所拥有的代码将要求输入,然后遍历每一行并打印包含输入的行。看起来像这样:
import csv
# Asks for search criteria from user
search = input("Enter search criteria:\n")
# Opens csv data file
file = csv.reader(open("MOCK_DATA.csv"))
# Go over each row and print it if it contains user input.
for row in file:
if search in row:
print(row)
我想要的最终结果以及我坚持的目标是能够输入多个由“,”分隔的搜索条件,它将搜索并打印这些行。有点像过滤列表的方法。
例如,如果文件中有多个“David”是“Male”。我可以进入:大卫,男
然后它会打印所有匹配的行,但忽略那些带有“David”即“女性”的行。
【问题讨论】:
-
我知道这是一个 python 问题,但是
grep David file.csv | grep Male?
标签: python python-3.x csv