Python读取Excel时把文本数据自动识别为float或int类型的解决办法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用Python读取Excel文件,有会出现自动在字后面添加.0的情况。这是因为Excel中的字被存储为浮点数,而Python读取Excel文件将其解释为浮点数格式。 要避免这种情况,可以使用`openpyxl`库中的`cell.number_format`属性来判断单元格中的数据是否为类型,并根据需要进行转换。以下是一个示例代码: ```python import openpyxl # 打开Excel文件 workbook = openpyxl.load_workbook('example.xlsx') # 获取第一个工作表 worksheet = workbook.active # 遍历所有单元格 for row in worksheet.iter_rows(values_only=True): for cell in row: # 判断单元格中的数据是否为类型 if isinstance(cell, (int, float)): # 如果是类型,则转换为整浮点数格式 if cell.is_integer(): cell = int(cell) else: cell = float(cell) print(cell) ``` 在上面的代码中,我们首先使用`openpyxl`库的`load_workbook()`函打开Excel文件,并使用`active`属性获取第一个工作表。然后,我们使用`iter_rows()`函遍历所有单元格,并使用`values_only=True`参获取单元格的值。接下来,我们使用`isinstance()`函判断单元格中的数据是否为类型。如果是类型,则使用`is_integer()`函判断是否为整,如果是整,则使用`int()`函进行转换,否则使用`float()`函进行转换。最后,我们打印转换后的数据。 注意,这种方法仅适用于使用`openpyxl`库读取Excel文件的情况,如果使用其他库进行读取,则需要相应修改代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值