【发布时间】:2020-06-01 13:18:26
【问题描述】:
早安,
我已经为此工作了大约 3 天。我需要一些帮助。
我正在使用 BeautifulSoup 来解析它。我所做的一切都一直有效:
df = pd.DataFrame({'Name':[Var1]})
df.append([Var1], ignore_index=False)
df.to_excel(writer, sheet_name='Names', index=False, header=True, startrow=start_row)
我抓取了总共 X 个变量并将它们剥离。可能是 3,也可能是 100。我想做的是抓住它们并将它们写入格式如下的 excel 表中:
名字
变量1
变量1
变量1
变量1
我遇到的问题是它只写最后一个条目,即使我可以使用:
print(df)
并查看 10 个条目。
这就是为什么我认为也许一个列表会更容易。如果我能弄清楚如何遍历 for 循环并创建一个 list=[Var1, Var1, Var1...] 的列表,那么我可以将该列表放入:
df = pd.DataFrame({'Name':[Var1]})
虽然现在看可能行不通。
import requests
import sys
import re
import pandas as pd
from bs4 import BeautifulSoup
page = requests.get('https://thisisanexampleurl.com')
soup = BeautifulSoup(page.text, 'html.parser')
start_row = 0
writer = pd.ExcelWriter('my_excel_sheet.xlsx', engine='openpyxl')
for link in soup.find_all('h3'):
Var1 = link.get_text() #grabbing a header string with a Name in it
Var1 = Var1.strip() #stripping out leading/ending spaces because there's a ton
df = pd.DataFrame({'Name':[Var1]})
df.append([Var1], ignore_index=False)
df.to_excel(writer, sheet_name='Names', index=False, header=True, startrow=start_row)
我意识到我在这方面很糟糕,但我很感激任何和所有的帮助。
非常感谢。
【问题讨论】:
-
对于每个链接,您将再次定义数据框并附加值。那就是它只显示最后一个附加值?
标签: python python-3.x pandas for-loop