【发布时间】:2015-12-04 04:47:00
【问题描述】:
我有一个看起来像这样的.xls文件
col_a col_b col_c col_d
5376594 hello
12028432 world
17735732 hello 12 hello
17736843 world world
当我阅读文件时
test = pandas.read_excel('F:/test.xls')
使用以下列类型读取该表:
>>> test.dtypes
col_a int64
col_b object
col_c float64
col_d object
我遇到的问题是我想为col_b 和col_d 提供字符串列。由于我是python的新手,请您指点我
- 幕后发生了什么?和
- 是否有任何参数可以调整以将列读取为字符串?
编辑: 评论中要求的第一行的类型
>>> type(test.iloc[0]['col_a'])
<class 'numpy.int64'>
>>> type(test.iloc[0]['col_b'])
<class 'float'>
>>> type(test.iloc[0]['col_c'])
<class 'numpy.float64'>
>>> type(test.iloc[0]['col_d'])
<class 'str'>
【问题讨论】:
-
它可能仍然是
strtype(test.iloc[0]['col_a'])显示什么? -
@EdChum 请查看编辑
-
col_b是float的原因是因为你有缺失值,NaN值需要 float dtype 来表示它们 -
所以基本上
dtypes是正确的并且适用于列 b 和 d 由于缺少值而混合了 dtype -
@EdChum 谢谢。有没有办法“强制”熊猫读取为字符串?
标签: python excel pandas import