>백엔드 개발 >파이썬 튜토리얼 >Pandas를 사용하여 URL에서 직접 데이터를 읽는 방법은 무엇입니까?

Pandas를 사용하여 URL에서 직접 데이터를 읽는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-04 10:40:30438검색

How to Read Data Directly from a URL Using Pandas?

전체 URL 읽기 수수께끼

데이터 분석의 일반적인 작업 중 하나는 URL에서 데이터를 로드하는 것입니다. 데이터 조작을 위한 인기 있는 Python 라이브러리인 Pandas는 파일 경로에 있는 CSV 파일 또는 파일과 같은 객체에서 데이터를 읽을 수 있는 read_csv 함수를 제공합니다. 그러나 URL을 read_csv에 직접 전달하려고 하면 오류가 발생할 수 있습니다.

오류 이해

이 오류를 설명하기 위해 질문에 제공된 예를 고려해 보겠습니다.

<code class="python">import pandas as pd
import requests

url = "https://github.com/cs109/2014_data/blob/master/countries.csv"
s = requests.get(url).content
c = pd.read_csv(s)</code>

이 코드는 요청 라이브러리를 사용하여 주어진 URL에서 CSV 파일을 검색한 다음 검색된 콘텐츠를 파일과 유사한 객체로 read_csv에 전달하려고 시도합니다. 그러나 이렇게 하면 오류가 발생합니다.

Expected file path name or file-like object, got <class 'bytes'> type

문제 해결

이 오류를 해결하려면 파일과 유사한 객체를 read_csv에 전달해야 합니다. Python에는 텍스트 파일과 바이너리 파일이라는 두 가지 주요 유형의 파일류 객체가 있습니다. 질문에 제공된 예제는 바이너리 파일인 URL에서 검색된 바이트 배열을 전달합니다. Read_csv는 바이트 배열을 디코딩하여 얻을 수 있는 텍스트 파일 개체를 기대합니다.

<code class="python">import pandas as pd

url = "https://raw.githubusercontent.com/cs109/2014_data/master/countries.csv"
c = pd.read_csv(url, encoding="utf-8")</code>

인코딩을 "utf-8"로 지정하면 바이트 배열을 텍스트 파일로 해석합니다. 이를 통해 read_csv가 URL에서 데이터를 성공적으로 로드할 수 있습니다.

Pandas 0.19.2로 향상된 단순성

Pandas 최신 버전(0.19.2)에서는 더 간단한 솔루션을 사용할 수 있습니다. 이제 Pandas에서는 URL에서 직접 읽기를 허용합니다.

<code class="python">import pandas as pd

url = "https://raw.githubusercontent.com/cs109/2014_data/master/countries.csv"
c = pd.read_csv(url)</code>

이렇게 하면 콘텐츠 검색 및 디코딩과 같은 추가 작업이 필요하지 않으므로 프로세스가 더욱 간단해집니다.

위 내용은 Pandas를 사용하여 URL에서 직접 데이터를 읽는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.