python - 有没有办法并行化 Pandas 的 Append 方法?

标签 python csv pandas

我有 100 个 XLS 文件,我想将它们合并到一个 CSV 文件中。有没有办法提高将它们组合在一起的速度?

使用 concat 的问题在于它缺少 to_csv 提供给我的参数:

listOfFiles = glob.glob(file_location)
frame = pd.DataFrame()
for idx, a_file in enumerate(listOfFiles):
    print a_file
    data = pd.read_excel(a_file, sheetname=0, skiprows=range(1,2), header=1)

    frame = frame.append(data)

# Save to CSV..
print frame.info()
frame.to_csv(output_dir, index=False, encoding='utf-8', date_format="%Y-%m-%d")

最佳答案

使用 multiprocessing ,您可以使用类似以下内容并行阅读它们:

import multiprocessing
import pandas as pd

dfs = multiprocessing.Pool().map(df.read_excel, f_names)

然后将它们连接成一个:

df = pd.concat(dfs)

您可能应该检查第一部分是否比

dfs = map(df.read_excel, f_names)

YMMV - 它取决于文件、磁盘等。

关于python - 有没有办法并行化 Pandas 的 Append 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30246804/

相关文章:

python - 在 Django 管理中使用 Django 站点框架

python - 在 excel 中写入 csv 文件时,特殊字符无法正确显示

python - 将文件中的标签添加到绘图上的数据点

python - 我如何以这样的方式分割 pandas 数据框,为每个分割值创建一个列

python - 滚动时间窗口上的 Pandas `value_counts`

python - 结构模式匹配 Python - 匹配一个集合/Frozenset

python - snakemake:规则的可选输入

python字典和列表: how to convert it?

php - 使用 PHP 将 .xlsx 文件转换为 .csv 文件

python - 根据另一个数据集中的元素位置过滤 pandas 数据帧的快速方法