首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python -使用from_delimited_files()从from存储读取表格数据时推断的不正确的日期时间格式

Python -使用from_delimited_files()从from存储读取表格数据时推断的不正确的日期时间格式
EN

Stack Overflow用户
提问于 2022-01-05 01:25:31
回答 1查看 175关注 0票数 1

我正在使用从Blob商店读取表格数据集,如下所示:

代码语言:javascript
复制
df = Dataset.Tabular.from_delimited_files(path=[DataPath(ds, blobstore_dir + 'tabular_data.csv')],
                                          separator=',', header=True)

数据有四个日期时间列,其中一个列读入没有问题,因为在某些情况下,月日顺序并不模糊,但其他三个列被错误地推断为“月日”而不是“日月”。

在读取数据时,我会收到以下警告:

UserWarning:为列‘句点开始’、‘句点结束’、‘提取At’推断的模糊日期时间格式被解析为“月日”。所需的格式可以由set_column_types指定。

我尝试将列类型设置为如下,并尝试了几种不同的格式,但最终得到的结果是NULL代替所有值。

代码语言:javascript
复制
df = Dataset.Tabular.from_delimited_files(
        path=[DataPath(ds, blobstore_dir + 'tabular_data.csv')], separator=',', header=True,
        set_column_types={'Period Start': DataType.to_datetime("%d-%m-%Y %H:%M:%S"),
                          'Period End': DataType.to_datetime("%d-%m-%Y %H:%M:%S"),
                          'Extracted At': DataType.to_datetime("%d-%m-%Y %H:%M:%S")})

from_delimited_files()的文档是这里

有人能告诉我如何强制from_delimited_files()将不确定的日期时间作为日月来解决,还是告诉我如何正确地使用set_column_types?我通过插入一个具有明确日期时间的虚拟行来临时解决这个问题。

EN

回答 1

Stack Overflow用户

发布于 2022-01-05 10:53:41

您可以导入Pandas并使用date_parserto_datetime的格式将日期时间与各自的格式转换。

代码语言:javascript
复制
date_parser=lambda x: pd.to_datetime(x, format='%m/%d/%Y %I:%M:%S %p'))

从文件中读取

代码语言:javascript
复制
pd.read_csv('testresult.csv', parse_dates=['TIME'], 
    date_parser=lambda x: pd.to_datetime(x, format='%m/%d/%Y %I:%M:%S %p'))

它还将格式传递给date_parser参数,而不是让熊猫尝试用infer_datetime_format参数猜测它。

参考这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70586850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档