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=';')
我每天生成一个包含这两列的 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=';')