python - 日期时间格式问题
问题描述
所以......我再次遇到日期时间格式的问题。这是因为 IDK 为什么亚马逊的数据库会不断地更改日期格式并且每次都是麻烦事。今天我请求您帮助将此字符串转换为日期时间对象。我只是找不到正确的格式。
“ene” 和 Jan 类似,但是是西班牙语。问题是即使 locale.getlocale() 设置为西班牙语,它也不会转换它(但它会转换英语日期字符串)。我也尝试将“ene”替换为“Jan”,但也不起作用。我仍然收到“时间数据'2 ene.2020 9:54:46'与格式'%d %b.%Y %H:%M:%S'不匹配”错误。
data={'fecha/hora': {0: '2 ene. 2020 9:54:46',
1: '2 ene. 2020 10:18:51',
2: '2 ene. 2020 10:19:18',
3: '2 ene. 2020 11:58:04',
4: '2 ene. 2020 15:56:51'},
'Id. de liquidación': {0: 12493053261,
1: 12493053261,
2: 12493053261,
3: 12493053261,
4: 12493053261}}
df=pd.DataFrame(data)
df["fecha"]=prueba.apply(lambda x: datetime.datetime.strptime(x["fecha/hora"],"%d %b. %Y %H:%M:%S"),axis=1)
如果你们知道任何教程来帮助我解决这个问题,我会很高兴看到它。老实说,我正在关注文档,但我只是无法弄清楚如何有效地使用日期时间对象。也因为我收到的每个数据库都有不同语言的不同格式。
此外,原始日期格式为 tz "gmt-8"。我删除了它,但如果有办法使用它会更好。
data={'fecha/hora': {0: '2 ene. 2020 9:54:46 GMT-8',
1: '2 ene. 2020 10:18:51 GMT-8',
2: '2 ene. 2020 10:19:18 GMT-8',
3: '2 ene. 2020 11:58:04 GMT-8',
4: '2 ene. 2020 15:56:51 GMT-8'},
'Id. de liquidación': {0: 12493053261,
1: 12493053261,
2: 12493053261,
3: 12493053261,
4: 12493053261}}
df=pd.DataFrame(data)
提前致谢!
解决方案
我会建议你使用像箭头这样的库。它允许使用指定一个本地(默认情况下它使用“en_US”)来使用,它也可以与您 PC 中的本地不同,如果您需要解析多种本地日期时间格式,则可以更改代码。您可以在他们的文档中找到有关箭头的更多信息。它使用简单,它为您提供了许多不同的功能和丰富的指南来学习如何使用它。
这是一个关于如何解析您指定的西班牙日期时间的示例:
import arrow # installed via pip
df["fecha"]=df.apply(lambda x: arrow.get(x["fecha/hora"], "D MMM. YYYY H:mm:ss", locale="es_ES").datetime, axis=1)
推荐阅读
- ios - 从同名的 xcasset 访问音频和图像
- go - Build error using golang race detector
- sql-server - 分析条形图的表列 - PowerBI 中的 SQL Server
- r - 任何人都可以帮我改变r中的迄今为止的因素吗?
- neo4j - How to use MERGE to create or reuse a part of pattern?
- javascript - Div 容器不采用百分比的屏幕大小
- eyeshot - 将曲面缝合到 Solid3D
- haskell - 范围类型变量代表类型变量而不是类型的意义
- c# - 以编程方式加载程序集及其依赖项时的奇怪行为
- c# - 如何触发显示 DownloadFileAsync 正在下载哪个文件的事件