gpt4 book ai didi

python-3.x - 在循环内将 Pandas Dataframe 相互附加

转载 作者:行者123 更新时间:2023-12-04 07:51:40 25 4
gpt4 key购买 nike

我在页面上得到一张 table 。第一页显示 100 行,下一页显示接下来的 100 行,依此类推。我试过这个,但这似乎不起作用,它只写入第一个表。什么是正确的方法,以便下一行继续添加到 df .

tables = driver.find_elements_by_tag_name('table')
table = tables[1].get_attribute('outerHTML')
df_i = pd.read_html(table)
df = pd.concat(df_i)
while True:
try:
driver.find_element_by_xpath('//a[@title="Next Page"]').click()
time.sleep(3)
tables = driver.find_elements_by_tag_name('table')
table = tables[1].get_attribute('outerHTML')
df_x = pd.read_html(table)
df1 = pd.concat(df_x)
df1 = df.append(df1)
except:
break
df1.to_excel(f'Handloom/Handloom_{str(lofi)}.xlsx')

Current output

A | B | C
1
2
3
.
.
100
Expected Output
A | B | C
1
2
.
.
100
.
.
200
.
.
300
.
.

最佳答案

一般的方法是创建一个 list数据帧,然后 pd.concat他们最后一次。像这样的东西:

dfs = []

tables = driver.find_elements_by_tag_name('table')
table = tables[1].get_attribute('outerHTML')
df_i = pd.read_html(table)
df = pd.concat(df_i)
dfs.append(df)

while True:
try:
driver.find_element_by_xpath('//a[@title="Next Page"]').click()
time.sleep(3)
tables = driver.find_elements_by_tag_name('table')
table = tables[1].get_attribute('outerHTML')
df_x = pd.read_html(table)
df = pd.concat(df_x)
dfs.append(df)
except:
break

df = pd.concat(dfs)
df.to_excel(f'Handloom/Handloom_{str(lofi)}.xlsx')

关于python-3.x - 在循环内将 Pandas Dataframe 相互附加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66937668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com