Я знаю, как жестко кодировать имена заголовков, но мне нужно сгенерировать их из моего массива. Возможно ли это?
Мои данные динамически очищаются, поэтому я не могу жестко закодировать свои заголовки или столбцы
results_headings содержит строки, такие как Animal, Mineral, Vegetable
results_columns содержит строки, такие как Bear, Quartz, Brocolli
Мой код
#Imports
from bs4 import BeautifulSoup
import requests
import pandas as pd
#Specify URL & Assign to page object
url = 'http://www.example.com'
page = requests.get(url)
#Grab our page as text
page.text
soup = BeautifulSoup(page.text, 'html.parser') #Use the HTML Parser
#Find our information
boxinfo = soup.find("div", {"id": "box1"})
headings = boxinfo.find_all("td", {"class": "label"})
columns = boxinfo.find_all("td")
#Get the headings
results_headings = []
for result in headings:
result_NoHTML = result.getText()
results.append(result_NoHTML)
#Get the columns
results_columns = []
for result2 in columns:
result2_NoHTML = result2.getText()
results_columns.append(result2_NoHTML)
df = pd.DataFrame(results_headings, results_columns)
df.to_csv('index.csv', index=False, encoding='utf-8')
Структура таблицы, которую я соскребаю с
<div class="box1">
<table class="table1">
<tr><td class="label">Item1</td><td>Value1</td></tr>
<tr><td class="label">Item2</td><td>Value2</td></tr>
<tr><td class="label">Item3</td><td>Value3</td></tr>
<tr><td class="label">Item4</td><td>Value4</td></tr>
</table>
</div>