Я создал скрипт на python, чтобы получить табличное содержимое с веб-страницы и написать то же самое в файле excel, используя pandas ExcelWriter
.Табличные данные поступают правильно, но я не могу записать их в файл Excel.Я могу написать то же самое, используя openpyxl
, но в случае с пандами ExcelWriter
я застреваю.
Я пробовал:
import requests
import pandas as pd
from bs4 import BeautifulSoup
from pandas import ExcelWriter
link = "https://en.wikipedia.org/wiki/Comparison_of_Intel_processors"
result = []
res = requests.get(link)
soup = BeautifulSoup(res.text,"lxml")
for items in soup.select_one("table.wikitable").select("tr"):
data = [item.get_text(strip=True) for item in items.select("th,td")]
print(data)
result+=data
df = pd.DataFrame(result)
writer = ExcelWriter('tabular_content.xlsx')
df.to_excel(writer,'Sheet1',index=False)
writer.save()
Чтобы избежать путаницы относительно того, чтоЯ получаю и то, что я хочу получить, я привел два примера, чтобы изобразить картинку.
Мой текущий подход может записать данные в один столбец, как показано ниже.
Processor
SeriesNomenclature
CodeName
Production Date
Supported Features (Instruction Set)
Clock Rate
Socket
Fabri-cation
Однако я хотел бы написать их следующим образом:
Processor SeriesNomenclature CodeName Production Date Supported Features (Instruction Set)
4004 Nov. 15,1971
8008 N/A N/A April 1972 N/A
8080 N/A N/A April 1974 N/A
8085 N/A N/A March 1976 N/A
8086 N/A N/A June 8, 1978 N/A
8088 N/A N/A June 1979 N/A
80286 N/A N/A Feb. 1982 N/A
i80386 DX, SX, SL N/A 1985 - 1990 N/A
i80486 DX, SX, DX2, DX4, SL N/A 1989 - 1992 N/A
PS Использование ExcelWriter
является обязательным.