Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在csv文件中搜索_Python_File_Search_Csv - Fatal编程技术网

Python 在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) 当

如何在csv文件中的前两个逗号之间搜索? 例如: CSV文件:

    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