Python 如何作为csv进行搜索。文件位于“中”的列中;日期“;格式
我正在尝试编写一个代码,用于在excel数据库中搜索出生月份(格式为DD/MM/YYYY)。我不确定如何搜索该文件,因为它是以“日期”格式编写的,而所有其他文件都是以“常规”格式编写的。有人知道怎么做吗 我的代码: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
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您可以接受答案。