【问题标题】:How to read large csv from Azure container using Python Azure Function?如何使用 Python Azure Function 从 Azure 容器中读取大型 csv?
【发布时间】:2022-02-09 10:23:41
【问题描述】:

我需要使用 Python Azure Function 从容器中高效读取更大的 csv。

我正在使用下面的代码来读取 csv,它适用于小 csv,但必须有其他方法来有效地读取更大的 csv。

# Container Connection.
container_client1 = ContainerClient.from_connection_string(
    conn_str=conn_str, 
    container_name=container_name
    )

# Reading File.
downloaded_blob = container_client.download_blob(file_name.csv)
df = pd.read_csv(StringIO(downloaded_blob.content_as_text()))

上述函数读取 ~2gb 文件花费了太多时间。 我需要帮助才能使用 Python Azure Function 有效读取较大的 csv。

【问题讨论】:

    标签: python pandas azure azure-functions azure-blob-storage


    【解决方案1】:

    其中一种解决方法是分块处理文件,从而降低解析时的内存使用量。

    chunksize = 10 ** 6
    for chunk in pd.read_csv(filename, chunksize=chunksize):
        process(chunk)
    

    注意:- chunksize 参数是指每个块的行数。

    这里有一个thread,你可以参考一下。

    参考: pandas.read_csv

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-13
      • 1970-01-01
      • 2021-02-22
      • 2021-10-06
      • 2023-01-18
      • 2020-05-21
      • 1970-01-01
      • 2020-09-09
      相关资源
      最近更新 更多