簡體   English   中英

Python從另一個csv追加新列

[英]Python append new column from another csv

我每天都用這兩列(沒有標題)生成一個 csv(覆蓋)。 第一個是客戶數量,第二個是每日銷售量

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=';')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM