[英]How to save multiple pandas dataframes to Excel
我想使用熊貓來提取網絡表格內容。
下面是代碼:
import pandas as pd
import requests
ids = [1722044,1722045,1722046,1722047]
str = 'http://vip.win007.com/AsianOdds_n.aspx?id={}'
for id in ids:
url = str.format(id)
asianodds = pd.read_html(url, header = 0)
asianodds[0]
df_NaN = asianodds[0]
#Data cleaning
asianodds = df_NaN.drop(df_NaN[df_NaN.多盤口 == '多盤口'].index)
#Delete Columns
asianodds.drop('多盤口', inplace=True, axis=1)
asianodds.drop('歷史資料', inplace=True, axis=1)
# 澳門 data
macau_asianodds = asianodds.iloc[0:1]
asianodds.iloc[0:1].to_excel("c:/logs/test.xls")
print(macau_asianodds)
預期輸出為 4 條記錄。 但是,Excel 文件只有一條記錄。
asianodds.iloc[0:1].to_excel("c:/logs/test.xls")
在循環中運行時,您的代碼都會覆蓋該文件。 數據不會附加到文件中。ids = [1722044,1722045,1722046,1722047]
str = 'http://vip.win007.com/AsianOdds_n.aspx?id={}'
# add the dataframe for each ids, to a list
df_list = list()
for id in ids:
url = str.format(id)
asianodds = pd.read_html(url, header = 0)
asianodds[0]
df_NaN = asianodds[0]
#Data cleaning
asianodds = df_NaN.drop(df_NaN[df_NaN.多盤口 == '多盤口'].index)
#Delete Columns
asianodds.drop('多盤口', inplace=True, axis=1)
asianodds.drop('歷史資料', inplace=True, axis=1)
# 澳門 data
macau_asianodds = asianodds.iloc[0:1]
# save each dataframe to a list
df_list.append(asianodds.iloc[0:1])
# combine the dataframes
df = pd.concat(df_list).reset_index(drop=True)
# save dataframe to an excel file
df.to_excel("c:/logs/test.xls", index=False)
display(df)
博彩公司 初盤 初盤.1 初盤.2 終盤 終盤.1 終盤.2
0 澳門 0.94 半球 0.92 1.02 半球 0.84
1 澳門 0.96 平手/半球 0.90 0.88 平手 0.98
2 澳門 0.88 半球 0.98 0.90 半球 0.96
3 澳門 0.94 受讓一球 0.92 1.08 受讓一球 0.78
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.