我尝试将CSV文件第一列中的日期转换为元组,以便查找该列中的所有日期与当前日期之间的差异,但我收到以下错误:
"ValueError: time data '2023-04-05' does not match format '%Y,%d,%m'"
这就是我目前所拥有的:
from csv import reader
from datetime import datetime
# open file in read mode
with open("food.csv", "r") 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].strip("-")
fmt = "%Y,%d,%m"
date_obj = datetime.strptime(date_str, fmt)
t_tuple = date_obj.timetuple()
print(t_tuple)
1条答案
按热度按时间v6ylcynt1#
这些字符

表示您的文件具有BOM(字节顺序标记)。它还指示您正在尝试以latin 1(ISO-8859-1)格式读取文件。
但是BOM的存在仅适用于UTF-8,因此请尝试将
open()
更改为:“sig”是指:需要BOM,如果找到,则丢弃它。
日期格式字符串中也有逗号,但错误显示为连字符。