将列表中的项目放入日期类中



我从CSV列中提取了一组格式为[yyyy,m,d]的日期。我基本上想迭代并将所有这些列表变成";日期";。我导入了日期,我知道日期类需要3个参数(年、月、日(。如何循环并将列表中的值作为日期类的参数?

下面是我的代码。CSV文件的第一列填充了mm/dd/yyyy格式的日期,我已经将其转换为yyyy/mm/dd整数格式。

from datetime import date
from csv import reader
# open file in read mode
with open('food.csv',  encoding='utf-8-sig') as read_obj:
# pass the file object to reader() to get the reader object
csv_reader = reader(read_obj)
# Iterate over each row in the csv using reader object

for row in csv_reader:
# row variable is a list that represents a row in csv

date_str = row[0].replace('/',',')

date_list = date_str.split(",")

my_order = [2,0,1]
date_list = [date_list[i] for i in my_order]

for i in range(0, len(date_list)):
date_list[i] = int(date_list[i])


exp_date = date(date_list[i])




print(exp_list)

get-error:TypeError:函数缺少必需的参数"month"(位置2(

如果date类有三个参数(年、月、日(,那么在调用该类时应该输入这三个值:

exp_date = date(date_list[0], date_list[1], date_list[2])

其中012分别是年、月和日的索引(我不确定哪个顺序是你的(。

在代码中,只输入一个参数date_list[i]。此外,注意这个i:它没有定义。

如果我正确理解你的问题,也许你可以试试Pandas。

import pandas as pd 
df = pd.read_csv('directory_to_food_csv_filefood.csv')
# errors='coerce': if any cell in the_date_column doesn't satisfy the format specified, pandas will turn it to missing
# format: you can find a list of datetime format in here: https://www.programiz.com/python-programming/datetime/strftime
df['the_date_column'] = pd.to_datetime(df['the_date_column'],errors='coerce',format='%m/%d/%Y')

这是Pandas to_datetime文档的链接

相关内容

  • 没有找到相关文章

最新更新