简体   繁体   English

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>`

When I run the method below, I get the error above.当我运行下面的方法时,我得到了上面的错误。 What is the problem?问题是什么? Thanks.谢谢。

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")`

Not every cell has a QTableWidgetItem associated with it so you should check that it is not None:并非每个单元格都有与之关联的 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 ""

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM