###実現したいこと
data = (title, lead, url, author)という4つのロウデータが存在します。このデータの塊を1つとして計100個分のデータセットがエクセルにあります。これらを1つずつ取り出し、さらにその4つを適切なフォームに入れたいです。そこで辞書型データをどのようにデータに分けて、繰り返しでセルを次の数字にしていくのか、またそれをsend_keyに入れていくのがわかりません。どなたか教えていただけないでしょうか?
###現在できていること
以下のように1つずつセルを取り出し、入力することはできました。
python
1 2v_excel_title = ws['b8'].value 3v_excel_lead = ws['f8'].value 4v_excel_url = ws['g8'].value 5v_excel_author = ws['d8'].value 6time.sleep(1) 7 8v_title = driver.find_element_by_id('id_title').send_keys(v_excel_title) 9v_c_title = driver.find_element_by_id('id_content_title').send_keys(v_excel_title) 10v_lead = driver.find_element_by_id('id_heading').send_keys(v_excel_lead) 11v_url = driver.find_element_by_id('id_content_url').send_keys(v_excel_url) 12v_author = driver.find_element_by_id('id_creator').send_keys(v_excel_author) 13
あとはこれを自動で次の、次のデータと進むようまとめる必要があります。以下で辞書型にするところまではできました。あとはこれをforで取り出して、上記のコードにするだけです。
python
1#read excel 2 3file = input("ファイルを入力してください:") 4wb = openpyxl.load_workbook(file) 5ws = wb["XXX"] 6 7data_list = [] 8header_cells = None 9 10for row in ws.rows: 11 if row[0].row == 1: 12 header_cells = row 13 else: 14 row_dic = {} 15 for k, v in zip(header_cells, row): 16 row_dic[k.value] = v.value 17 data_list.append(row_dic) 18 19for data in data_list: 20print(data_list) 21 22>>dict_keys(['title', 'date', 'author', 'creator url', 'lead', 'url', None]) 23>>dict_keys(['title', 'date', 'author', 'creator url', 'lead', 'url', None]) 24>>dict_keys(['title', 'date', 'author', 'creator url', 'lead', 'url', None])
しかし、これをどうそれぞれv_excel…のデータに入れて、繰り返しでセルを次の数字にしていくのか。またそれをsend_keyに入れていくのがわかりません。どなたか教えていただけないでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。