pandas 로 QTableWidget 내용을 Excel csv 로 저장하기 > IT 기술백서

테이블 위젯 이름은 tbl_result 라고 가정한다.

 

[code]

import pandas as pd

 

class MyWindow(QMainWindow, form_class):

    ….

    def exportToFile(self, type, filename):

        columnHeaders = []

        

        # create column header list

        for j in range(self.tbl_result.model().columnCount()):

            columnHeaders.append(

                self.tbl_result.horizontalHeaderItem(j).text())

        df = pd.DataFrame(columns=columnHeaders)

        # create dataframe object recordset

        for row in range(self.tbl_result.rowCount()):

            for col in range(self.tbl_result.columnCount()):

                df.at[row, columnHeaders[col]] = self.tbl_result.item(

                    row, col).text()

    

    def download(self, type):

        if type == ‘excel’:

            df.to_excel(f”{filename}.xlsx”, index=False)

        elif type == ‘csv’:

            df.to_csv(f”{filename}.csv”, index=False)

[/code]

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤