簡體   English   中英

Python - Pandas:如何從 url 保存 csv 文件

[英]Python - Pandas : how to save csv file from url

所以我試圖獲取一個帶有請求的 csv 文件並將其保存到我的項目中:

import requests
import pandas as pd
import csv

def get_and_save_countries():
    url = 'https://www.trackcorona.live/api/countries'
    r = requests.get(url)
    data = r.json()
    data = data["data"]
  
    with open("corona/dash_apps/finished_apps/apicountries.csv","w",newline="") as f:  
        title = "location,country_code,latitude,longitude,confirmed,dead,recovered,updated".split(",") 
        cw = csv.DictWriter(f,title,delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL)
        cw.writeheader()
        cw.writerows(data)

我已經做到了,但是當我嘗試這樣做時:

get_data.get_and_save_countries()
df = pd.read_csv("corona\\dash_apps\\finished_apps\\apicountries.csv")

我收到此錯誤:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 1: invalid continuation byte

我不知道為什么。 歡迎任何幫助。 謝謝。

嘗試:

 with open("corona/dash_apps/finished_apps/apicountries.csv","w",newline="", encoding ='utf-8') as f:

使用encoding='utf-8'顯式指定編碼

寫入文件時,默認編碼為locale.getpreferredencoding(False) 在通常不是 UTF-8 的 Windows 上,甚至在 Linux 上,終端也可以配置為非 UTF-8。 Pandas 默認為utf-8 ,因此將encoding='utf8'指定為open另一個參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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