首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Python中的破折号将不需要的日期时间格式化数据值更改为数字

用Python中的破折号将不需要的日期时间格式化数据值更改为数字
EN

Stack Overflow用户
提问于 2019-02-10 02:21:50
回答 1查看 456关注 0票数 1

由于某些Excel格式问题,数据已被更改。当有一个数字涉及到一个-破折号时,它会自动改变为日期格式。

例如,1-1更改为01-Jan25-2在Excel中更改为25-Feb

但是,带有破折号或其他值(如1A1001 )的数据是有技巧的。当我将数据加载到Spyder中时,它实际上再次将格式更改为datetime类型。

首先,数据在Excel中如下所示

代码语言:javascript
复制
Name       ID       Value
Hello      1A       22
Hi         01-Jan   20
What       02-Jan   12
Is         1001     10
Up         25-Mar   11

数据以的Pandas格式出现,当前年份(2019年)的代码如下:

代码语言:javascript
复制
import pandas as pd
FAC_sheet = pd.read_excel('data', dtype=str)

Name       ID                    Value
Hello      1A                    22
Hi         2019-01-01 00:00:00   20
What       2019-01-02 00:00:00   12
Is         1001                  10
Up         2019-03-25 00:00:00   11

有没有办法只改变奇怪的日期格式的值,并保持其余的机智?期望的输出是:

代码语言:javascript
复制
Name       ID                    Value
Hello      1A                    22
Hi         1-1                   20
What       1-2                   12
Is         1001                  10
Up         3-25                  11
EN

回答 1

Stack Overflow用户

发布于 2019-02-10 02:51:26

您可以尝试以下操作来尝试并覆盖熊猫中的自动转换日期(用列名替换日期):

代码语言:javascript
复制
pandas.read_excel(xlsx, sheet, converters={'Date': str})

来自docs (excel.html):转换器: dict,用于转换某些列中值的函数的可选Dict。键可以是整数,也可以是列标签。

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

https://stackoverflow.com/questions/54612777

复制
相关文章

相似问题

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