我想通过列将许多csv文件合并到一个csv文件中,并且每行应该匹配日期。请帮我。感谢
示例1.csv文件:
CG_Month CG Number
2014-09 1
2014-08 3
2014-07 24
示例2.csv文件
Month Number
2014-11 51
2014-08 4
2014-07 75
输出3.csf文件就像:
Month Number Month_2 Number_2
2014-11 51
2014-09 1
2014-08 4 2014-08 3
2014-07 75 2014-07 24
答案 0 :(得分:0)
无法发表评论(信誉不足),但如果您正在处理繁重的文件,则可以使用pandas.read_csv和merge或join方法。如果您的输出是另一个csv文件,则可以使用to_csv方法。
它应该是这样的:
import pandas as pd
df1 = pd.read_csv(url1, sep = '\t', date_format).set_index('CG_Month')
df2 = pd.read_csv(url2, sep = '\t', date_format).set_index('Month')
df3 = df1.join(df2).to_csv(url3)
您还可以使用重命名列
df.rename(columns = {'old_name':'new_name'})
答案 1 :(得分:0)
使用熊猫很容易实现。以下是您应该做的大致概述。
使用map
读入文件。如果您有大量文件,可以使用*your_list
将它们全部读入生成器。将生成器设置为一个列表,以便将pd.merge
传递到下一部分。
使用import pandas as pd
import os
files = [j for j in os.listdir() if j.endswith('.csv')]
frames = map(pd.read_csv,files)
df = pd.merge(*frames, on = common_column_name_here)
将它们全部合并到公共列上。为了做到这一点,所有文件必须具有相同的列名。
像
这样的东西{{1}}