【问题标题】:combine multiple csv files with different columns将多个 csv 文件与不同的列合并
【发布时间】:2020-11-02 17:13:34
【问题描述】:

我需要将多个 csv 文件合并到一个文件中。 挑战是:- 所有这些 csv 文件的列数都不同。 所以我在想是否有任何方法可以从这些文件中读取所有列名,然后在组合这些 csv 文件时,我可以从传入文件中读取相应的列名,将其与大组合文件中的列名匹配,然后相应地保存该值。如果未找到列名,则在合并文件中存储 N/A 或 null。

它看起来可行还是其他更好的方法?

问候, 阿伦

【问题讨论】:

    标签: python pandas dataframe csv


    【解决方案1】:

    我建议将 CSV 文件读入 pandas DataFrames。然后您可以使用concat 组合它们。假设您有两个 pandas 数据框,df1 和 df2。此代码将它们组合起来,并在不适用时留下 NaN:

    import pandas as pd
    
    df1 = pd.DataFrame({'column1': [1,2],
                        'column2': [3,4],
                        })
    
    df2 = pd.DataFrame({'column1': [5,6],
                        'column3': [7,8],
                        })
    pd.concat([df1,df2],ignore_index=True)
    

    输出是这样的:

       column1  column2  column3
    0        1      3.0      NaN
    1        2      4.0      NaN
    2        5      NaN      7.0
    3        6      NaN      8.0
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-04
      • 2021-12-17
      • 2014-12-23
      • 2021-10-04
      • 2021-08-13
      • 1970-01-01
      • 2021-03-13
      • 1970-01-01
      相关资源
      最近更新 更多