Python 在csv文件中搜索
如何在csv文件中的前两个逗号之间搜索? 例如: CSV文件:Python 在csv文件中搜索,python,file,search,csv,Python,File,Search,Csv,如何在csv文件中的前两个逗号之间搜索? 例如: CSV文件: name, surname, age , gender 如何在用户输入的情况下仅搜索前两个名称和姓氏 这就是我所拥有的。我正在寻找仅按姓名或姓氏搜索的用户: searchfile = open("python.csv", "r") a=input() for line in file: if a in line: print(line) 当
name, surname, age , gender
如何在用户输入的情况下仅搜索前两个名称和姓氏
这就是我所拥有的。我正在寻找仅按姓名或姓氏搜索的用户:
searchfile = open("python.csv", "r")
a=input()
for line in file:
if a in line:
print(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)
根据您未来的计划,这不一定是最好的解决方案。还要注意字段中的前导/尾随空格使用
您可以使用:
它包含一个名为读卡器的对象,该对象允许您通过定义一个分隔符来拆分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文件中查找字符串,则应使用原始输入()而不是只用于数字的输入()。强制要求:“您尝试了什么?”或者甚至这似乎会打印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