如何在csv文件中的前两个逗号之间进行搜索? 例如: CSV文件:
name, surname, age , gender
我如何仅使用用户输入搜索前两个名称和姓氏?
这就是我所拥有的。我正在寻找用户只能通过姓名或姓氏搜索:
searchfile = open("python.csv", "r")
a=input()
for line in file:
if a in line:
print(line)
当我这样做时,用户可以输入文件中的任何内容,它将打印该行。我只想搜索名字和姓氏的前两个逗号。如果输入不存在则拒绝。
答案 0 :(得分:1)
您可以使用csv module: 它包含一个名为 reader 的对象,它允许您通过定义分隔符来分割csv文件的每一行:
import csv
searchfile = open('python.csv', 'rb')
reader = csv.reader(searchfile, delimiter = ',')
a = input()
for row in reader:
if a in row[0] or a in row[1]:
print row
请注意,如果您在csv文件中查找字符串,则应使用raw_input()而不是input(),它仅用于数字。
答案 1 :(得分:0)
您可以用逗号分割line
。然后搜索你想要的地方。像这样:
for line in file: # line = "name, surname, age , gender"
fields = line.split(',') # fields = ["name", " surname" , " age", " gender"]
if a in fields[0] or a in fields[1]:
print(line)
根据您未来的计划,这不需要是最佳解决方案。另请注意fields
中的前导/尾随空格。
答案 2 :(得分:0)
使用csv
import csv
searchfile = open("python.csv", "rb")
reader = csv.reader(searchfile)
for row in reader:
if a in row[0] or a in row[1]:
print row