我使用panda将excel文件列表存储到变量excel_list 中
然后我试着把";日期";来自excel表。这是我的代码:
xls_list = []
for file in xls_list:
excel_list.append(pd.read_excel(file, sheet_name=None))
closed_between = excel_list[0]['Report Info'][excel_list[0]['Report Info'].columns[1]][(excel_list[0]['Report Info'].loc[excel_list[0]['Report Info']['Title']=='Closed Between'].index)]
我可以得到如下值:
2022年1月3日12:00 AM-2022年3月1日11:59 PM名称:聊天摘要(按小时、文件夹、日期、数据类型(:对象
然而,当我试图将日期切片或剥离时。我没能做到。此代码显示错误:
dt.strptime(closed_between , '%m/%d/%Y')
结果:
----------------------------------------------------------------------------AttributeError Traceback(最近调用最后(---->1 dt.strptime(匹配,'%m/%d/%Y'(
AttributeError:模块"datetime"没有属性"strptime">
此代码没有显示任何更改:
match[0:11]
结果:
2022年1月3日12:00 AM-2022年3月1日11:59 PM名称:聊天摘要(按小时、文件夹、日期、数据类型(:对象
我的目标是用字符串中的第一个日期作为子字符串。请帮助我提高知识,谢谢。
属性错误
您可能导入了类似import datetime as dt
的日期时间。这导致CCD_ 2。
应该是from datetime import datetime as dt
。然后您可以使用dt.strptime
。
类型错误
假设你的closed_between是一个系列,而不是str。它在错误中非常明确地说:...must be str, not Series.
。如果您知道只返回一个值,则可以使用dt.strptime(closed_between[0],'%m/%d/%Y'(
其他问题
不能仅将格式为"%m/%d/%Y"
的strptime应用于字符串"03/01/2022 12:00 AM - 03/01/2022 11:59 PM"
,因为此格式与字符串根本不匹配。您首先必须拆分字符串,例如closed_between[0].split(" ")[0]
给出03/01/2022
,然后您可以通过strptime发送它。