我想要的新輸出
獲取作者角色的新代碼
舊的,我想要的輸出
我想在一個單元格中列出作者串列,因為我正在使用 .join() 命令。
稍微了解一下我的代碼和我想要完成的事情:
主鏈接是一個包含 20 個專案的串列,每個專案都有一個 4-5 位作者的串列。首先,我想遍歷鏈接,然后遍歷其每個專案以獲取 csv 一個單元格中的作者串列。
這對我來說是噩夢。我花了幾天的時間來找出答案,希望有人能幫助理解這個問題。求更多資料,謝謝。輸出附在下面:
from selenium import webdriver
import pandas as pd
driver = webdriver.Chrome()
site = 'https://www.goodreads.com/search?q=chughtai&qid=WzdWh5nG8z'
driver.get(site)
driver.maximize_window()
authors = []
auth = []
main = driver.find_elements_by_tag_name('tr')
for i in main:
con = i.find_elements_by_xpath('.//div[@]')
for n in con:
authors.append(n.find_element_by_xpath('.//a[@]/span').text)
one_cell = ', '.join(authors)
auth.append(one_cell)
a = {'Author Names': one_cell}
df = pd.DataFrame.from_dict(a, orient='index')
df = df.transpose()
df.to_csv("only_names.csv", index=False)
print(df)
uj5u.com熱心網友回復:
似乎您的問題是在您決議新專案之前作者串列沒有重置為空。重置它的一種方法是將您authors = []從當前位置移動到for i in main:. 然后,您將為每個專案獲得一個新的空串列。
另一個非關鍵的建議是讓你one_cell = ', '.join(authors)脫離當前的內部回圈,但仍然在auth.append(one_cell). 您只需為每個i.
更新:
顯示我的第二個建議:
for i in main:
authors = []
con = i.find_elements_by_xpath('.//div[@]')
for n in con:
authors.append(n.find_element_by_xpath('.//a[@]/span').text)
one_cell = ', '.join(authors)
auth.append(one_cell)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/433024.html
標籤:Python python-3.x 熊猫 for循环 硒网络驱动程序
