python - Python openpyxl获取日期输出格式
问题描述
我有一个无法更改的 excel 文件,我在其中使用 openpyxl 获取一些信息,在这种情况下,我有一个具有此日期格式 MM/DD/YYYY 的单元格,我需要 python 上的输出为:%d/%m/%是的
我试过这个:
ETD3 = sheet['F28'].value
ETD2 = str(ETD3)
ETD = datetime.strptime(ETD2,'%d/%m/%Y')
我收到此错误:
Traceback (most recent call last):
File "C:\Users\xxxx\eclipse-workspace\TEst\RunFaster.py", line 102, in <module>
ETD = datetime.strptime(ETD2,'%d/%m/%Y')
File "C:\Users\xxxx\AppData\Local\Programs\Python\Python310\lib\_strptime.py", line 568, in _strptime_datetime
tt, fraction, gmtoff_fraction = _strptime(data_string, format)
File "C:\Users\xxxx\AppData\Local\Programs\Python\Python310\lib\_strptime.py", line 349, in _strptime
raise ValueError("time data %r does not match format %r" %
ValueError: time data '2021-10-15 00:00:00' does not match format '%d/%m/%Y'
我怎样才能使它正常工作?(我是python新手,也是编程新手)
解决方案
datetime.strptime
抓取一个字符串并将其转换为日期时间对象。你给它的格式告诉它如何解释它正在抓取的字符串。在这种情况下,您告诉它您正在给它一个格式为 like 的字符串'%d/%m/%Y'
,而实际上它看起来您正在给它一个格式为 like 的字符串'%Y-%m-%d %H:%M:%S'
。这是你应该给它的格式字符串。然后,您将拥有一个代表该日期/时间的日期时间对象。如果您想以您指定的格式获得一个新字符串,请获取该日期时间对象并使用该.strftime
方法,将您的格式字符串传递给它,它会以您想要的方式输出字符串:
ETD3 = sheet['F28'].value
ETD2 = str(ETD3)
DT = datetime.strptime(ETD2,'%Y-%m-%d %H:%M:%S')
ETD = DT.strftime('%d/%m/%Y')
推荐阅读
- node.js - 如何使用 ngif 使其可以隐藏 div 并且不验证 div 部分下的元素?
- react-native - react native如何解决以下错误
- vue.js - 将根属性添加到 vue 应用程序的问题
- flutter - 将数字转换为科学计数法并获得指数颤振
- javascript - 使用 JavaScript 更新 LocalStorage 中的对象?
- testing - 启动测试部门
- php - MySql php pdo 存储过程 PDOException: SQLSTATE[HY000]
- php - 使用 PHP 数据对象登录
- java - 加载到 tflite android 时将图像大小调整为 224*224
- javascript - 状态不会在异步函数中更新