やりたいこと
pythonで下記のエクセルを読み込み
searchの列が空白の時だけその行を処理したいです。
問題なく処理されていますが、書き込みする際に元のデータが消えてしまいます。
消えない方法ありますでしょうか。
エクセル
country | search |
---|---|
america | |
canada | OK |
spain | |
japan | OK |
現在の結果
前のデータ消えてしまうので、下記のように同じエクセルに対して保存可能でしょうか。
country | search |
---|---|
canada | OK |
japan | OK |
OK |
実現したい結果
同じエクセルに対して処理結果を保存したいです。
country | search |
---|---|
america | OK |
canada | OK |
spain | OK |
japan | OK |
全体のコード
import pandas as pd import time from datetime import datetime as dt, date, timedelta from dateutil.relativedelta import relativedelta from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.common.keys import Keys # file=r"C:\Users\test\Desktop\country.xlsx" #エクセル読み込み df = pd.read_excel(file) #読み込みエクセル指定 df_country = df["country"] ##空白からフィルター外す # df1 =df[df["フラグ"] != "NaN"] #空白削除 df1 =df.dropna(subset=["search"]) print(df1) df_cnt = len(df1) print(df1.head()) for i in range(df_cnt): #url指定 url = "https://www.google.com/search?q="+df_country[i] driver = webdriver.Chrome(executable_path=ChromeDriverManager().install()) #driver = webdriver.Chrome(executable_path="C:\selenium\chromedriver.exe") #検索したい用語のサイトを開く driver.get(url) #5秒待機 time.sleep(5) df1.loc[i,'search']='OK' print("OK・書込み") #xlsx書き出し df1.to_excel(file, sheet_name="sheet", index=False, header=True) driver.close()
pandas詳しい方がいましたら、教えていただけると嬉しいです。
お手数ですが、よろしくお願い致します。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。