[英]Python data output to Excel
在花費數小時試圖找出將統計信息導入 Excel 文件的方法時,我遇到了這個腳本的一個版本,我試圖在 Python 中使用它。 執行時,我在腳本的第二個csv_output
部分下方收到以下錯誤:
KeyError: 0
我剛剛開始學習 Python 的細微差別,無法真正弄清楚我在這里做錯了什么。
我目前正在使用 Python 3.6 和 Windows 10。任何幫助將不勝感激。
import requests
import csv
url = "http://stats.nba.com/stats/leagueLeaders?
LeagueID=00&PerMode=PerGame&Scope=S&Season=2017-
18&SeasonType=Regular+Season&StatCategory=PTS"
data = requests.get(url, timeout=5)
entries = data.json()
with open('output.csv', 'w') as f_output:
csv_output = csv.writer(f_output)
csv_output.writerow(entries['resultSet'][0]['headers'])
csv_output.writerows(entries['resultSet'][0]['rowSet'])
我沒有看到名為 requests 的模塊。 也許試試 urllib.request.urlopen(url, timeout=5)
網址不正確。 如果您只是使用瀏覽器打開,則會導致錯誤。 也許再次檢查您的網址。
entry['resultset'] 是一個 dict 對象,它沒有 '0' 鍵。 它只有“標題”、“行集”、“名稱”。
只需從下面的兩行代碼中刪除“[0]”,這將起作用。
csv_output.writerow(entries['resultSet']['headers'])
csv_output.writerows(entries['resultSet']['rowSet'])
這個解決方案對我有用:
import pandas as pd
data = requests.get(url, timeout=5)
entries = data.json()
Header=entries['resultSet']['headers']
data =entries['resultSet']['rowSet']
filename='c:\\test\\NBA.xlsx'
df = pd.DataFrame.from_records(data)
df.columns=Header
writer = pd.ExcelWriter(filename, engine='xlsxwriter')
df.to_excel(writer, sheet_name='sheet1', index=False,startrow=0 , startcol=0)
writer.save()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.