Python PyQt5 qtableWidget 到 excel 错误
Python PyQt5 qtableWidget to excel eror
Traceback (most recent call last):
File "C:\Users\umutcelik\Desktop\Debi\DebiHesabi.py", line 181, in exportToExcel
df.at[row, columnHeaders[col]] = self.tableWidget.item(row, col).text()
AttributeError: 'NoneType' object has no attribute 'text'
PS C:\Users\umutcelik\Desktop\Debi>`
当我运行下面的方法时,我得到上面的错误。问题是什么?谢谢
def exportToExcel(self):
wb = openpyxl.Workbook()
columnHeaders = []
# create column header list
for j in range(self.tableWidget.columnCount()):
columnHeaders.append(self.tableWidget.horizontalHeaderItem(j).text())
df = pd.DataFrame(columns=columnHeaders)
print(df)
# create dataframe object recordset
for row in range(self.tableWidget.rowCount()):
for col in range(self.tableWidget.columnCount()):
df.at[row, columnHeaders[col]] = self.tableWidget.item(row, col).text()
df.to_excel('deneme.xlsx', index=False)
os.system("deneme.xlsx")`
并非每个单元格都有与其关联的 QTableWidgetItem,因此您应该检查它是否 None:
for row in range(self.tableWidget.rowCount()):
for col in range(self.tableWidget.columnCount()):
item = self.tableWidget.item(row, col)
df.at[row, columnHeaders[col]] = item.text() if item is not None else ""
Traceback (most recent call last):
File "C:\Users\umutcelik\Desktop\Debi\DebiHesabi.py", line 181, in exportToExcel
df.at[row, columnHeaders[col]] = self.tableWidget.item(row, col).text()
AttributeError: 'NoneType' object has no attribute 'text'
PS C:\Users\umutcelik\Desktop\Debi>`
当我运行下面的方法时,我得到上面的错误。问题是什么?谢谢
def exportToExcel(self):
wb = openpyxl.Workbook()
columnHeaders = []
# create column header list
for j in range(self.tableWidget.columnCount()):
columnHeaders.append(self.tableWidget.horizontalHeaderItem(j).text())
df = pd.DataFrame(columns=columnHeaders)
print(df)
# create dataframe object recordset
for row in range(self.tableWidget.rowCount()):
for col in range(self.tableWidget.columnCount()):
df.at[row, columnHeaders[col]] = self.tableWidget.item(row, col).text()
df.to_excel('deneme.xlsx', index=False)
os.system("deneme.xlsx")`
并非每个单元格都有与其关联的 QTableWidgetItem,因此您应该检查它是否 None:
for row in range(self.tableWidget.rowCount()):
for col in range(self.tableWidget.columnCount()):
item = self.tableWidget.item(row, col)
df.at[row, columnHeaders[col]] = item.text() if item is not None else ""