【Python】用openpyxl读取数据自动float的解决方式

想用openpuxl读取excel文件里的一列数据,发现直接读取后是float形式,在网上查找的解决方式是遍历数据,用int来转换数据类型

import openpyxl as xl

book = xl.load_workbook('XXXXX.xlsx')
sheet = book['Sheet1']

#遍历excel文档中第一列的数据
for row in range(sheet.min_row, sheet.max_row + 1):
    cell = sheet.cell(row, 1)
    
    #转换每一格数据类型
    # cell.value = int(cell.value)
    
	#打印所有数据
    print(cell.value)
``

运行后发现成功打印出整型,然而我发现就算不加 cell.value = int(cell.value) 打印出来也是整型。
刚开始学习python,仍然处于摸索阶段,希望能和大家一起进步!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值