Python 从另一个 csv 追加新列

Python append new column from another csv

我每天生成一个包含这两列的 csv(覆盖)(没有 headers)。首先是客户数量,其次是每日销售量

963840      3
18065729    2
255657800   4
338082549   183
364915832   2
392633366   14
450647013   3

我需要在一个新的 csv 中追加每日销量,每天在一个新的列上以了解演变

963840      3       5     6    20
18065729    2       4     7     8   
255657800   4       7
338082549   183     220
364915832   2       5
392633366   14      14
450647013   3       4

提前致谢

我尝试将其写成符号,以便您可以按照代码加载 CSV 文件并合并它们:

basedf = pd.read_csv('firstday.csv')

days = ['day2.csv','day3.csv','day4.csv','day5.csv']
for day in days:
    df = pd.read_csv(day)
    basedf = basedf.merge(df,on='clientid',how='left')

如果您在不同的日子有不同的客户,也许外部联接会更好。

import pandas as pd
day1 = pd.DataFrame({'id': ['963840', '18065729', '255657800', '338082549','364915832','392633366','450647013'],
                    'day1data': [3,2,4,183,2,14,3]})
day2 = pd.DataFrame({'id': ['963840', '18065729', '255657800', '338082549','364915832','392633366','450647013'],
                    'day2data': [5,4,7,220,5,14,4]})

print(day1.merge(day2, on='id', how='outer'))

Ant 结果如下:

          id  day1data  day2data
0     963840         3         5
1   18065729         2         4
2  255657800         4         7
3  338082549       183       220
4  364915832         2         5
5  392633366        14        14
6  450647013         3         4

另外如果你想保存为csv,你可以使用to_csv()方法。

day1.merge(day2, on='id', how='outer').to_csv('merged_data.csv',sep=';')