【问题标题】:Reading multiple CSVs separately and saving them into a dictionary of dataframes in parallel in Python分别读取多个 CSV 并在 Python 中将它们并行保存到数据帧字典中
【发布时间】:2019-12-03 22:49:21
【问题描述】:

我有一个 Python 函数(如下所示),它从 S3 读取多个 csv 文件并将它们分别保存为字典中的 Pandas DataFrames。有没有办法并行化这个过程,以便可以同时读取tables 中的多个项目而不是一个接一个?

# Load libraries
import pandas as pd
import dask.dataframe as dd

# Define function    
def read_data(bucket_name, tables):
    all_data = dict()
    for t in tables:
        all_data[t] = dd.read_csv('s3://{}/{}/*.csv'.format(bucket_name, t)).compute()
    return all_data

# Define arguments
bucket_name = 's3://my-bucket'
tables = ['sales', 'customers', 'inventory']

# Run function
all_data = read_data(bucket_name, tables)

【问题讨论】:

    标签: python pandas parallel-processing multiprocessing dask


    【解决方案1】:

    除了使用地图功能,我看不出如何更好地优化它。如果您尝试对您的存储桶进行一次 API 调用,那么 AWS API 上的该端点可能有一个搜索参数?

    【讨论】:

      猜你喜欢
      • 2018-06-29
      • 2020-11-24
      • 1970-01-01
      • 2018-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多