【问题标题】:Python PyQt5 qtableWidget to excel erorPython PyQt5 qtableWidget 到 excel 错误
【发布时间】: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")`

【问题讨论】:

    标签: python excel pandas pyqt5 qtablewidget


    【解决方案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 ""
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-04
      • 1970-01-01
      • 2019-01-12
      • 2020-08-17
      • 2021-06-01
      • 2019-02-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多