我试图读取Excel文件中的列,并将数据写入Python中相应的文本文件(使用Openpyxl)。 Excel文件中缺少某些数据,如下面的第2列:
" gappy.xlsx":
350.2856445313 -424.5273132324 -322.6161499023
609.8883056641 -453.6102294922
780.6325683594 -628.981628418
这是我的代码:
import openpyxl
wb = openpyxl.load_workbook('gappy.xlsx', data_only = True)
ws = wb.active
factor = 1.0
for i in range (1,4):
with open('text'+str(i)+'.txt', "wt") as file_id:
for j in range (1,ws.max_row+1):
file_id.write("{:.3e}\n".format(ws.cell(row = j,column = i).value/factor))
# I've also tried this, but I cannot write a file separately for each cloumn ...
# for column in ws.columns:
# for cell in column:
# print(cell.value)
# file_id.write('%f\n' % (ws.columns[i][0].value))
然后,我收到了这个错误:
TypeError:/:' NoneType'不支持的操作数类型并且'浮动'
原因是第二栏中的空白被视为“无”。 我知道读第二列到最后一行+ 1'是错的,但我不知道还能做什么。 请告诉我如何解决这个问题。 提前谢谢。
答案 0 :(得分:1)
那么你可以在进行除法之前检查两个参数都不是None。如果一个None
以任何你想要的方式处理它。
像这样的东西
if ws.cell(row = j,column = i).value is not None and factor is not None:
file_id.write("{:.3e}\n".format(ws.cell(row = j,column = i).value/factor))
else:
# handle it in a different fashion