簡體   English   中英

Python數據輸出到Excel

[英]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'])
  1. 我沒有看到名為 requests 的模塊。 也許試試 urllib.request.urlopen(url, timeout=5)

  2. 網址不正確。 如果您只是使用瀏覽器打開,則會導致錯誤。 也許再次檢查您的網址。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM