我从不同的单元格导入值,并将它们附加到 50 个 Excel 工作表(时间序列)的列中。我需要在阅读它们时将它们相加,因为我只需要聚合值。但是,当单元格没有值时,它会将其读取为字符串“”,并且无法求和。 如何将空值读取为零值以便能够对它们求和? 我正在尝试使用 .replace('',0) 函数,但出现此错误: 类型错误:replace() 参数 2 必须是 str,而不是 int
workbook = xlrd.open_workbook("xxx.xls")
sheets = workbook.sheet_names()
tr_elect1 = []
for sheet_name in sheets:
sh = workbook.sheet_by_name(sheet_name)
tr_elect1.append(sh.cell(13, 1).value.replace('',0) + sh.cell(13, 2).value).replace('',0)
tr_elect1
您可以定义函数,返回单元格的
0
为空,否则其实际值:
def cell_value(x, y):
v = sh.cell(x, y).value
if v:
return v
return 0
workbook = xlrd.open_workbook("xxx.xls")
sheets = workbook.sheet_names()
tr_elect1 = []
for sheet_name in sheets:
sh = workbook.sheet_by_name(sheet_name)
tr_elect1.append(cell_value(13, 1) + cell_value(13, 2))