我已经创建了一个python脚本,用于从网页中抓取一些表格内容,并使用pandas ExcelWriter将其写入excel文件。表格数据是正确的,但我无法将它们写入excel文件。我可以用openpyxl写同样的代码,但是如果用pandas 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附言:使用ExcelWriter是必须的。
发布于 2019-06-30 10:21:54
这似乎不是ExcelWriter的问题,在这种情况下,您甚至不需要BeautifulSoup。只需以这种方式读取数据
tables = pd.read_html("https://en.wikipedia.org/wiki/Comparison_of_Intel_processors")
writer = ExcelWriter('tabular_content.xlsx')
tables[0].to_excel(writer,'Sheet1',index=False)
writer.save()而且,至少在我的系统上,它按预期创建了Excel文件。
https://stackoverflow.com/questions/56821229
复制相似问题