Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.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_Excel_Csv - Fatal编程技术网

Python 如何作为csv进行搜索。文件位于“中”的列中;日期“;格式

Python 如何作为csv进行搜索。文件位于“中”的列中;日期“;格式,python,excel,csv,Python,Excel,Csv,我正在尝试编写一个代码,用于在excel数据库中搜索出生月份(格式为DD/MM/YYYY)。我不确定如何搜索该文件,因为它是以“日期”格式编写的,而所有其他文件都是以“常规”格式编写的。有人知道怎么做吗 我的代码: import csv dob = input('Input dob (DD/MM/YYYY): ') month = dob.split('/') with open('AddressBook.csv', newline='') as myfile: reader = csv

我正在尝试编写一个代码,用于在excel数据库中搜索出生月份(格式为DD/MM/YYYY)。我不确定如何搜索该文件,因为它是以“日期”格式编写的,而所有其他文件都是以“常规”格式编写的。有人知道怎么做吗

我的代码:

import csv
dob = input('Input dob (DD/MM/YYYY): ')
month = dob.split('/')
with open('AddressBook.csv', newline='') as myfile:
    reader = csv.reader(myfile)
    for row in reader:
        if int(month[1]) in row:
            print(row)
        else:
            ()
这是有问题的excel通讯簿。(没有真实姓名或联系方式)


您也应该在数据中拆分出生日期。下面是一个例子:

import csv
dob = input('Input dob (DD/MM/YYYY): ')
date, month, year = dob.split("/")

with open('AddressBook.csv', newline='') as myfile:
    reader = csv.reader(myfile)
    for row in reader:
        row_date, row_month, row_year = row[6].split("/")
        if row_month == month:
            print(row) # or whatever you want to print..
因为你的出生日期在第六个索引上,所以你把它分开。解压拆分的列表会让您的工作更轻松

您还可以使用
csv.DictReader
和列表理解:

_, month, __ = dob.split("/")
with open("AddressBook.csv") as myfile:
    matched = [row for row in csv.DictReader(myfile) if month == row[6].split("/")[1]]

这将产生一个与指定的出生日期匹配的行列表。

哪些行与当前代码不匹配?你有错误吗?非常感谢!你帮了我大忙,如果我能投票支持你的答案。。。我会的!:)@用户3576688您可以接受答案。