如何使用xlwt将python数据导出到excel?

如何使用xlwt将python数据导出到excel?,python,web-scraping,beautifulsoup,request,xlwt,Python,Web Scraping,Beautifulsoup,Request,Xlwt,这是我的建议: from bs4 import BeautifulSoup import requests url = 'http://www.baseballpress.com/lineups' soup = BeautifulSoup(requests.get(url).text, 'html.parser') for names in soup.find_all(class_="players"): print(names.text) 我想使用xlwt将我的scrape导

这是我的建议:

from bs4 import BeautifulSoup
import requests

url = 'http://www.baseballpress.com/lineups'

soup = BeautifulSoup(requests.get(url).text, 'html.parser')

for names in soup.find_all(class_="players"):
    print(names.text) 
我想使用xlwt将我的scrape导入excel。我使用下面的代码查看是否可以使用python制作excel工作表:

import xlwt  

wb = xlwt.Workbook()  
ws = wb.add_sheet("Batters")  
ws.write(0,0,"coding isn't easy")  
wb.save("myfirst_xlwt")
上面的代码有效。我现在想把它应用到我原来的刮伤上。如何合并这两个代码


我是新来的,所以任何帮助都将不胜感激。谢谢您抽出时间!=)

我试图运行您的代码,但它找不到任何类为
的示例
。它返回
[]

关于
xlwt
,基本上,它只是使用您指定的字符串写入一个单元格(带有row和column参数)

wb = xlwt.Workbook() 
ws = wb.add_sheet('sheet_name')
ws.write(0,0,"content") #Writes the first row, first col, in sheet called "sheet_name".
wb.save("example.xls")  
然而,我认为熊猫更适合这个目的
xlwt
如果您忘记了行号和列号,有时会变得非常混乱。如果您可以提供一些非空结果,我可以编写一个简单的脚本,供您使用pandas导出到Excel

为了在示例中使用
pandas
,下面是代码

from bs4 import BeautifulSoup
import requests

url = 'http://www.baseballpress.com/lineups'

soup = BeautifulSoup(requests.get(url).text, 'html.parser')

all_games = []

for g in soup.find_all(class_="game"):
    players = g.find_all('a', class_='player-link')
    game = {
        'time': g.find(class_='game-time').text,
        'weather': g.find(target='forecast').text.strip(),
        'players': [_.text for _ in g.find_all('a', class_='player-link')],
    }
    all_games.append(game)

print(all_games) # This will print out a list of dict that contains the game information

import pandas as pd
df = pd.DataFrame.from_dict(all_games) # Construct dataframe from the list of dict
writer = pd.ExcelWriter('baseball.xlsx') # Init Pandas excel writer, using the file name 'baseball.xlsx'
df.to_excel(writer, 'baseball_sheet') # Writes to a sheet called 'baseball_sheet'. Format follows the Dataframe format.
writer.save() # Save excel

我试图运行您的代码,但它找不到类为
example
的任何内容。它返回
[]

关于
xlwt
,基本上,它只是使用您指定的字符串写入一个单元格(带有row和column参数)

wb = xlwt.Workbook() 
ws = wb.add_sheet('sheet_name')
ws.write(0,0,"content") #Writes the first row, first col, in sheet called "sheet_name".
wb.save("example.xls")  
然而,我认为熊猫更适合这个目的
xlwt
如果您忘记了行号和列号,有时会变得非常混乱。如果您可以提供一些非空结果,我可以编写一个简单的脚本,供您使用pandas导出到Excel

为了在示例中使用
pandas
,下面是代码

from bs4 import BeautifulSoup
import requests

url = 'http://www.baseballpress.com/lineups'

soup = BeautifulSoup(requests.get(url).text, 'html.parser')

all_games = []

for g in soup.find_all(class_="game"):
    players = g.find_all('a', class_='player-link')
    game = {
        'time': g.find(class_='game-time').text,
        'weather': g.find(target='forecast').text.strip(),
        'players': [_.text for _ in g.find_all('a', class_='player-link')],
    }
    all_games.append(game)

print(all_games) # This will print out a list of dict that contains the game information

import pandas as pd
df = pd.DataFrame.from_dict(all_games) # Construct dataframe from the list of dict
writer = pd.ExcelWriter('baseball.xlsx') # Init Pandas excel writer, using the file name 'baseball.xlsx'
df.to_excel(writer, 'baseball_sheet') # Writes to a sheet called 'baseball_sheet'. Format follows the Dataframe format.
writer.save() # Save excel

合并代码段的最简单方法是使用语句所在的任何位置。您可以使用来跟踪行索引:

from bs4 import BeautifulSoup
import requests
import xlwt  

wb = xlwt.Workbook()  
ws = wb.add_sheet("Batters")  

url = 'http://www.baseballpress.com/lineups'

soup = BeautifulSoup(requests.get(url).text, 'html.parser')

for row, name in enumerate(soup.find_all(class_="players")):
    ws.write(row, 0, name.text)
wb.save("myfirst_xlwt")

合并代码段的最简单方法是使用语句所在的任何位置。您可以使用来跟踪行索引:

from bs4 import BeautifulSoup
import requests
import xlwt  

wb = xlwt.Workbook()  
ws = wb.add_sheet("Batters")  

url = 'http://www.baseballpress.com/lineups'

soup = BeautifulSoup(requests.get(url).text, 'html.parser')

for row, name in enumerate(soup.find_all(class_="players")):
    ws.write(row, 0, name.text)
wb.save("myfirst_xlwt")


我这里没有xlwt,但你可以试试tutorialThanks@Nullman!我这里没有xlwt,但你可以试试tutorialThanks@Nullman!当然:)如果你能接受答案那就太好了我再次调整了代码@MartinLiu。。。我不确定这是否是你想要的。你能进一步解释你的问题吗?再次感谢=)我将不得不研究如何使用熊猫。编辑了我的代码。如果您只想将所有内容导出到Excel中,则Pandas更简单。您所需要做的就是建立一个dict列表,然后将其转换为一个pandas数据帧。很高兴为您提供帮助。编辑了我的代码。是的,网站结构非常简单,你所需要做的就是找到标签(在本例中),并以某种方式识别它(所有玩家都有
的“玩家链接”),也许在使用Python shell时尝试查找你所在的目录?或者你可以在
writer=pd.ExcelWriter('barball.xlsx')
中添加绝对路径。当然:)如果你能接受答案,那就太好了。我再次调整了代码@MartinLiu。。。我不确定这是否是你想要的。你能进一步解释你的问题吗?再次感谢=)我将不得不研究如何使用熊猫。编辑了我的代码。如果您只想将所有内容导出到Excel中,则Pandas更简单。您所需要做的就是建立一个dict列表,然后将其转换为一个pandas数据帧。很高兴为您提供帮助。编辑了我的代码。是的,网站结构非常简单,你所需要做的就是找到标签(在本例中),并以某种方式识别它(所有玩家都有
的“玩家链接”),也许在使用Python shell时尝试查找你所在的目录?或者您可以在
writer=pd.ExcelWriter('barball.xlsx')
.Ty中添加绝对路径@我非常感谢你的反馈。我很快就会测试出来…回溯(最近一次调用最后一次):文件“C:/Users/xboss/Desktop/barball\u Sheet\u Code.py”,第12行,在行,名字在汤中。find\u all(class=“players”):ValueError:没有足够的值来解包(预期为2,得到0)知道我为什么会得到这个错误@madpysicast吗?很抱歉我是一个初学者,因为我忘了像我宣传的那样添加
枚举
。我的错误。现在修好了。谢谢您抽出时间!我非常感谢你的帮助泰@我非常感谢你的反馈。我很快就会测试出来…回溯(最近一次调用最后一次):文件“C:/Users/xboss/Desktop/barball\u Sheet\u Code.py”,第12行,在行,名字在汤中。find\u all(class=“players”):ValueError:没有足够的值来解包(预期为2,得到0)知道我为什么会得到这个错误@madpysicast吗?很抱歉我是一个初学者,因为我忘了像我宣传的那样添加
枚举
。我的错误。现在修好了。谢谢您抽出时间!我非常感谢你的帮助