前提・実現したいこと
すみません。何度も何度も質問して申し訳ないです。pythonで出力した結果をExcelに書き出そうとしています。
※EXCELのB列に1行ずつ順番に1000行以上書き出すことを考えています。
アドバイスをいただいて、pythonから出された結果をリストで置いて書き出してみては、とのことでしたので、該当のソースコードを作成しましたが、以下のエラーメッセージが出ました。書き出すにはどのようにしたらよろしいでしょうか。アドバイスいただけると幸いです。
発生している問題・エラーメッセージ
Traceback (most recent call last): File "<ipython-input-1-83e0460acce4>", line 1, in <module> runfile('C:/Users/XXXXXXXX/.spyder-py3/temp.py', wdir='C:/Users/XXXXXXXX/.spyder-py3') File "C:\Users\XXXXXXXX\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 786, in runfile execfile(filename, namespace) File "C:\Users\XXXXXXXX\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile exec(compile(f.read(), filename, 'exec'), namespace) File "C:/Users/XXXXXXXX/.spyder-py3/temp.py", line 43, in <module> for a_tag in find_all('<p class="d-chat_timeline-name">'): NameError: name 'find_all' is not defined
該当のソースコード
python
1Spyderエディタ 2 3これは一時的なスクリプトファイルです 4""" 5 6import os, tkinter, tkinter.filedialog, tkinter.messagebox 7root = tkinter.Tk() 8root.withdraw() 9fTyp = [("","*.html")] 10file = tkinter.filedialog.askopenfilename(filetypes = fTyp) 11fd=open(file,"r",encoding="utf-8") 12 13 14res=fd.read() 15from bs4 import BeautifulSoup 16 17cur_pos=0 18while True : 19 target_tag = '<p class="d-chat_timeline-name">' 20 closing_tag = '</p>' 21 start_pos = res[cur_pos:].find(target_tag) 22 end_pos = res[cur_pos:].find(closing_tag) 23 if (start_pos == -1) or (end_pos == -1): 24 break 25 mojie = res[cur_pos + start_pos + len(target_tag) : cur_pos + end_pos] 26 print(mojie) 27 cur_pos = cur_pos + end_pos + len(closing_tag) 28 29mojie_list = "mojie" 30 31import openpyxl as px 32wb = px.Workbook() 33ws = wb.active 34sheet = wb.create_sheet('sheet1') 35 36i=1 37for a_tag in find_all('<p class="d-chat_timeline-name">'): 38 39 ws['A'+str(i)].value = date1 40 41 i += 1 42 43wb.save(r'C:\Users\XXXXXXX\Desktop\sample2.xlsx')
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー