Pythonで2つの辞書型のリストをつなげる方法についてご教示お願いします。
昨日一日中やったのですが、どうしても連結して出力できずにこちらに来ました。
d_listとds_listをつなげて、その下の『つなげた結果』のようにしたいです。
d_list = [{'date': '2021-04-02', 'amount': '29750'}, {'date': '2021-04-01', 'amount': '32500'}, {'date': '2021-04-01', 'amount': '29550'}] d2_list = [{'detail01': '0', 'detail02': '2750'}, {'detail01': '0', 'detail02': '8250'}, {'detail01': '0', 'detail02': '0'}] # つなげた結果 date amount detail01 detail02 0 2/04/2021 29750 0 2750 1 1/04/2021 32500 0 8250 2 1/04/2021 29550 0 0
mergeやconcatを使ってもエラーになりだめでした。下の元コードではds_listをリスト型のリストから辞書型のリストに変換しています。データ同士の型を合わせたほうが出力しやすいかと思いやってみたのですができず、もし以下のコードから直接データを連結し出力できる方法もあれば、こちらもご教示お願いしたいです。
よろしくお願い致します。
# 元コード from selenium import webdriver import pandas as pd driver = webdriver.Chrome() url = 'ログインした後のページになります。' driver.get(url) trs = driver.find_elements_by_css_selector('table#Grid > tbody > tr') d_list = [] ds_list = [] for i, tr in enumerate(trs): date = tr.find_element_by_css_selector('td:first-of-type').text amount = tr.find_element_by_css_selector('td:nth-of-type(2)').text pre_detail = tr.find_element_by_css_selector('td:last-of-type').text details = pre_detail.replace(' ', '').replace(',', ',').replace(',', ' ') detail = details.split() d = { 'date': date, 'amount': amount, } d_list.append(d) ds_list.append(detail) # 同じ辞書型のリストにする key2 = ['detail01', 'detail02'] d2_list = [dict(zip(key2,item)) for item in ds_list] # csvで出力 df1 = pd.DataFrame(d_list) df1.to_csv('lh.csv', index=True, encoding='utf-8-sig') df2 = pd.DataFrame(ds_list) df2.to_csv('lhs.csv', index=True, encoding='utf-8-sig')
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/05 06:04