Python PyQt5 qtableWidget 到 excel 错误
Posted
技术标签:
【中文标题】Python PyQt5 qtableWidget 到 excel 错误【英文标题】:Python PyQt5 qtableWidget to excel eror 【发布时间】:2021-04-20 08:30:32 【问题描述】: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")`
【问题讨论】:
【参考方案1】:并非每个单元格都有与之关联的 QTableWidgetItem,因此您应该检查它是否为无:
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 ""
【讨论】:
以上是关于Python PyQt5 qtableWidget 到 excel 错误的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 PyQt5 Python 将 QTableWidget 数据转换为 PDF
Python PyQt5 qtableWidget 到 excel 错误
Python PyQt5 QTableWidget contextMenuEvent setStyleSheet 子菜单背景色