openpyxl读取Excel替换tuple中None为空字符串报错如何解决
报错原因
Python 中的tuple(元组)是不可变数据类型,实例创建后无法修改内部元素的值,直接对元组下标赋值会触发类型错误。
修复方案
你不需要修改原元组,直接通过生成式生成替换完None的新元组/列表即可,推荐简洁写法如下:
for row in previous_worksheet.iter_rows(values_only=True): # 遍历替换所有None为空字符串,生成新元组 processed_row = tuple(item if item is not None else "" for item in row) # 后续业务逻辑直接使用processed_row做对比即可
如果习惯沿用原有遍历修改的逻辑,可以先把元组转为可变的列表再操作:
for row in previous_worksheet.iter_rows(values_only=True): row_list = list(row) for x in range(len(row_list)): if row_list[x] is None: row_list[x] = "" # 处理完成后可按需转为元组或直接使用列表 processed_row = tuple(row_list)
内容的提问来源于stack exchange,提问作者Vertering
相关产品推荐
相关产品推荐

