Ich versuche, eine Spalte in einer Excel-Datei zu lesen, und schreibe die Daten in eine entsprechende Textdatei für die Spalte in Python (mit Openpyxl). Einige Daten in der Excel-Datei fehlt, wie die zweite Spalte unter:"nicht unterstützte Operandentyp (en) für /: 'NoneType' und 'float'" in openpyx
"gappy.xlsx":
350.2856445313 -424.5273132324 -322.6161499023
609.8883056641 -453.6102294922
780.6325683594 -628.981628418
Hier ist mein Code:
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))
Dann bekam ich das Fehler:
TypeError: unsupported operand type(s) for /: 'NoneType' and 'float'
Der Grund ist, dass die Leerzeichen in der 2. Spalte als 'None' gelesen werden. Ich weiß, dass es falsch ist, die zweite Spalte bis 'max_row + 1' zu lesen, aber ich weiß nicht, was ich sonst tun soll. Bitte sagen Sie mir, wie Sie das beheben können. Vielen Dank im Voraus.
Es funktioniert. Ich habe file_id.write ('None \ n') unter der else-Anweisung hinzugefügt. Ich danke dir sehr! – IanHacker