You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python读取xlsx整数数据与字符串拼接报TypeError如何处理

解决方案

你现有代码存在两处问题:

  1. 逻辑错误:a.write() 方法的返回值为None,不可将其返回值与字符串拼接后再次传入a.write()
  2. 类型错误:数值类型的cell.value无法直接和字符串拼接

方案1:读取时直接转字符串(最简便)

无需修改读文件的逻辑,读取单元格内容时统一转成字符串即可,调整后代码如下:

for row in ws.iter_rows(min_row =1, max_col=2):
    for cell in row:
        # 先拼接内容,再统一写入
        write_content = 'a string"' + str(cell.value)
        a.write(write_content)

如果需要严格匹配Excel中单元格的显示格式(例如单元格设置了百分比、小数位数等格式,希望读取的字符串和Excel中展示的完全一致),可以直接读取单元格的text属性,该属性本身就是字符串类型:

for row in ws.iter_rows(min_row =1, max_col=2):
    for cell in row:
        write_content = 'a string"' + cell.text
        a.write(write_content)

方案2:读取文件时强制所有内容为字符串

如果使用pandas读取xlsx文件,可以在加载文件时直接指定全局类型为字符串,后续所有取值都是字符串类型,无需额外转换:

import pandas as pd
# 所有单元格内容均按字符串读取
df = pd.read_excel("你的文件路径.xlsx", dtype=str)

内容的提问来源于stack exchange,提问作者Fabricio G

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 03:36:03