【问题标题】:Merging two csv without pandas合并两个没有熊猫的csv
【发布时间】:2015-01-08 17:22:41
【问题描述】:

我有两个要合并的 CSV 文件。对于熊猫,我会使用:

pd.merge(df1,df2, how='left', left_on='ST_LOGINID', right_on='LOGINID')

然而,panda 执行此操作时内存不足(“MemoryError:”),尽管在返回错误之前我的 RAM 使用量仅从 4GB 中的 1.9GB 变为 2.2GB。

因此,我正在寻找以下任一解决方案: 1) 在不将文件加载到内存的情况下执行此类合并/连接操作的一种方法 2) 一种允许 pandas 使用更多 RAM 的方法,因为似乎有足够的可用内存。

【问题讨论】:

    标签: python csv pandas merge


    【解决方案1】:

    试试csvkit:

    首先安装:

    pip install csvkit
    

    然后:

    csvjoin -c "ST_LOGINID, LOGINID" --outer file1.csv file2.csv
    

    【讨论】:

      【解决方案2】:

      如果您有大量 CSV 数据,NYSOL's mcmd 是最好的。

      mjoin k=ST_LOGINID K=LOGINID m=df2.csv i=df1.csv o=output.csv
      

      它首先运行!

      查看更多详情here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-10-20
        • 1970-01-01
        • 2017-06-11
        • 2016-01-01
        • 2023-02-21
        • 1970-01-01
        相关资源
        最近更新 更多