首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python pandas:如何在读取Excel文件时指定数据类型?

Python pandas:如何在读取Excel文件时指定数据类型?
EN

Stack Overflow用户
提问于 2015-09-16 00:48:10
回答 4查看 158.4K关注 0票数 102

我正在使用pandas.read_excel()函数将一个excel文件导入到pandas数据框中。

其中一列是表的主键:全部是数字,但存储为文本( Excel单元格左上角的绿色小三角形证实了这一点)。

但是,当我将该文件导入到pandas数据帧中时,该列被导入为浮点型。这意味着,例如,'0614‘变成了614。

有没有办法在导入列时指定数据类型?我知道这在导入CSV文件时是可能的,但在read_excel()的语法中找不到任何东西。

我能想到的唯一解决方案是在Excel中的文本开头添加一个任意字母(将'0614‘转换为'A0614'),以确保该列是作为文本导入的,然后在python中去掉'A’,这样我就可以将它与我从SQL导入的其他表进行匹配。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-09-16 01:06:28

您只需指定转换器即可。我创建了一个具有以下结构的excel电子表格:

代码语言:javascript
运行
复制
names   ages
bob     05
tom     4
suzy    3

其中"ages“列被格式化为字符串。要加载:

代码语言:javascript
运行
复制
import pandas as pd

df = pd.read_excel('Book1.xlsx',sheetname='Sheet1',header=0,converters={'names':str,'ages':str})
>>> df
       names ages
   0   bob   05
   1   tom   4
   2   suzy  3
票数 141
EN

Stack Overflow用户

发布于 2017-07-23 04:33:43

如果您不知道dataframe中的列数和列名,那么这个方法会很方便:

代码语言:javascript
运行
复制
column_list = []
df_column = pd.read_excel(file_name, 'Sheet1').columns
for i in df_column:
    column_list.append(i)
converter = {col: str for col in column_list} 
df_actual = pd.read_excel(file_name, converters=converter)

其中,column_list是列名的列表。

票数 9
EN

Stack Overflow用户

发布于 2021-01-29 19:44:21

如果您能够正确读取excel文件,并且仅显示整数值。您可以像这样指定。

代码语言:javascript
运行
复制
df = pd.read_excel('my.xlsx',sheetname='Sheet1', engine="openpyxl", dtype=str)

这应该会将整数值更改为字符串并显示在dataframe中

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

https://stackoverflow.com/questions/32591466

复制
相关文章

相似问题

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