Python 为什么';我的程序写的是;“脚”;进入excel表格?
我试着制作一个程序,从身高和体重表中提取数据,并将其移动到excel上的一个文件中。所有的网页抓取都很好,但当它尝试将信息插入excel时,它只会输入权重。不知道我做错了什么,有什么建议吗Python 为什么';我的程序写的是;“脚”;进入excel表格?,python,excel,list,web-scraping,Python,Excel,List,Web Scraping,我试着制作一个程序,从身高和体重表中提取数据,并将其移动到excel上的一个文件中。所有的网页抓取都很好,但当它尝试将信息插入excel时,它只会输入权重。不知道我做错了什么,有什么建议吗 from lxml import html import requests import xlwt from xlwt import Workbook wb = Workbook() weight = [] feet = [] def scrape(): list1 = [] use
from lxml import html
import requests
import xlwt
from xlwt import Workbook
wb = Workbook()
weight = []
feet = []
def scrape():
list1 = []
user_website = "https://disabled-world.com/calculators-charts/height-weight.php"
page = requests.get(user_website)
tree = html.fromstring(page.content)
list2 = tree.xpath('//td/text()')
for x in list2:
list_holder = x.split(" ")
for i in list_holder:
list1.append(i.lower())
subs = "'"
feet = [i for i in list2 if subs in i]
print([s.strip('"') for s in feet])
#print([s.replace('\', ') for s in feet])
subs3 = "lb"
pounds = [i for i in list2 if subs3 in i]
y = 0
amount = len(pounds)/2
for x in range(1, int(amount)+1):
weight.append(pounds[y])
y += 2
print(weight)
def excel():
heightweight = wb.add_sheet('HeightWeight')
x = 1
y = 0
amount = len(weight)
for z in range(1, int(amount)+1):
heightweight.write(x, 0, weight[y])
x += 1
y += 1
print("Done")
x = 1
y = 0
amount = len(feet)
for z in range(1, int(amount)+1):
heightweight.write(0, x, feet[y])
x += 1
y += 1
print("Done")
wb.save("heightweight.xls")
scrape()
excel()
行
foots=[i for i in list2 if subs in i]
创建了一个局部变量,并且不修改全局foots
。一个快速解决方法是执行foots.extend([i for i in list2 if subs in i])
,但我不希望使用全局变量。