【发布时间】:2021-05-21 10:07:53
【问题描述】:
我正在尝试使用 pd.read_excel() 读取 excel 文件。 excel 文件有 2 列日期和时间,我想将两列都读取为 str 而不是 excel dtype。
excel文件示例
我尝试指定 dtype 或转换器参数无济于事。
df = pd.read_excel('xls_test.xlsx',
dtype={'Date':str,'Time':str})
df.dtypes
Date object
Time object
dtype: object
df.head()
Date Time
0 2020-03-08 00:00:00 10:00:00
1 2020-03-09 00:00:00 11:00:00
2 2020-03-10 00:00:00 12:00:00
3 2020-03-11 00:00:00 13:00:00
4 2020-03-12 00:00:00 14:00:00
如您所见,Date 列不被视为 str...
使用转换器时也是如此
df = pd.read_excel('xls_test.xlsx',
converters={'Date':str,'Time':str})
df.dtypes
Date object
Time object
dtype: object
df.head()
Date Time
0 2020-03-08 00:00:00 10:00:00
1 2020-03-09 00:00:00 11:00:00
2 2020-03-10 00:00:00 12:00:00
3 2020-03-11 00:00:00 13:00:00
4 2020-03-12 00:00:00 14:00:00
我也尝试过使用其他引擎,但结果总是一样。
在读取 csv 时,dtype 参数似乎按预期工作
我在这里做错了什么??
编辑: 我忘了说,我使用的是最新版本的 pandas 1.2.2,但在从 1.1.2 更新之前遇到了同样的问题。
【问题讨论】:
-
好像有bug,你试试最新的pandas版本吗?
-
是的,使用最后一个版本,但我在 1.1.2 上遇到了同样的问题
-
我在 1.3.1 版遇到了类似的问题