前提・実現したいこと
pdfの表を読み取ってExcelに変換するプログラミングを書いています。これを実行すると身に覚えのないメソッド名?がエラーを起こしていると表示されます。
ここに質問の内容を詳しく書いてください。
発生している問題・エラーメッセージ
Exception ignored in: <function Output.__del__ at 0x0000024A86960670> Traceback (most recent call last): File "C:\Users\ユーザー名\Anaconda3\lib\site-packages\PySimpleGUI\PySimpleGUI.py", line 3584, in __del__ self._TKOut.__del__() AttributeError: 'NoneType' object has no attribute '__del__'
python
import PySimpleGUI as sg import tabula import os sg.theme('DarkTeal7') layout = [ [sg.Text('読み取り対象のファイルとページを指定してください')], [sg.Text('ファイル', size=(10, 1)), sg.Input(), sg.FileBrowse('ファイルを選択', key='inputFilePath')], [sg.Text('ページ', size=(10, 1)), sg.InputText('', size=(10, 1), key='pages'), sg.Text('複数ページのときは\n3-10 のように指定してください', size=(30, 2))], [sg.Text('表の罫線', size=(10, 1)),sg.Combo(('あり', 'なし'), default_value="あり",size=(10, 1), key='lattice')], [sg.Button('読み取り', key='read'), sg.Button('csvに保存', key='save')], [sg.Output(size=(80,20))] ] window=sg.Window('PDFの表を読み取るプログラム',layout) def readTableFromPDF(inputFilePath,lattice,pages): while True: event, values=window.read() if event == sg.WIN_CLOSED: break if event == 'read': if values['lattice']=='あり': isLattice = True else: isLattice = False read.tabula_pdf(values['inputFilePath'],isLattice,values['pages']) if event =='save': if values['lattice']=='あり': isLattice = True else: isLattice = False dfs = read.tabula_pdf(values['inputFilePath'],isLattice,values['pages']) for index,df in enumerate(dfs): basename_without_ext = os.path.splitext(os.path.basename(values[inputFilePath]))[0] filename = basename_without_ext+" "+str(index+1)+".csv" df.to_csv(filename,index=None) print("csvファイルに保存しました:",filename) print("すべてのcsvファイル保存が完了しました") window.close()
試したこと
再起動やモジュールが正しく反映されているかを確かめました。プログラミングを何回も見直しても__del__が見つからないのでお手上げの状態です。
補足情報(FW/ツールのバージョンなど)
python3を使っています。初めて間もなくでいろいろいじっているのでもしかしたら環境構築が上手くいっていないのかと不安です。
あなたの回答
tips
プレビュー