首页 > 解决方案 > 将保存到给定 url 的压缩 csv 转换为 Pandas 中的 DataFrame

问题描述

我有一个给定的 URL 作为字符串,我正在尝试编写一个方法,该方法采用该“URL 字符串”并将其首先转换为 Pandas DataFrame,最终转换为 parquet 文件。

URL 后面是/loremipsum.csv.zip文件

这是我到目前为止所尝试的

def save_csv_as_parquet(self, current_url):
    zf = zipfile.ZipFile(current_url)
    df = pd.read_csv(zf)
    df.to_parquet('events.parquet')

标签: pythonpandaszipfile

解决方案


执行此操作的正确方法是先下载 zip 文件并在其中使用它zipfile.ZipFile(),而且您还没有解压缩它:

import urllib.request

def save_csv_as_parquet(self, current_url):
    urllib.request.urlretrieve(current_url, "loremipsum.csv.zip")
    zf = zipfile.ZipFile("loremipsum.csv.zip")
    zf.extractall()
    df = pd.read_csv("loremipsum.csv")
    df.to_parquet('events.parquet')

推荐阅读