Я читаю два файла csv , и мне нравится переносить только столбец 'level' из второго csv в первый файл csv .
Первый файл CSV:
Notation RFResult PRIResult PDResult Total Result
AAA 1.23 0 2 3.23
AAA 3.4 1 0 4.4
BBB 0.26 1 1.42 2.68
BBB 0.73 1 1.3 3.03
CCC 0.30 0 2.73 3.03
DDD 0.25 1 1.50 2.75
Второй файл CSV: в этом файле более 99 столбцов:
ESLN Level High Low
AAA 1 3.0 -10
AAA 1 3.0 -10
BBB 2 3.5 -30
BBB 2 3.5 -30
CCC 3 2.0 10
CCC 3 2.0 10
CCC 3 2.0 10
DDD 4 5.5 15
Окончательный результат должен выглядеть примерно так:
Notation Level RFResult PRIResult PDResult Total Result
AAA 1 1.23 0 2 3.23
AAA 1 3.4 1 0 4.4
BBB 2 0.26 1 1.42 2.68
BBB 2 0.73 1 1.3 3.03
CCC 3 0.30 0 2.73 3.03
DDD 4 0.25 1 1.50 2.75
...
...
Вот мой код: в настоящее время он передает все из второго CSV в первый CSV в соответствии с обозначениями и уровнем
import pandas as pd
import csv
df = pd.read_csv('\\\First.csv') #reading first CSV File
df1 = pd.read_csv('\\\Second.csv') #reading second CSV File
#the following line, Some reason its multiplying the rows from both dataframe dfxdf1 How shoild i fix this?
df = pd.merge(left=df, right=df1, how='left', left_on='Notation', right= 'ESLN')
# I have 99+ cols and i dont like to hard coded for each cols for deletion. So how should i only transfer Level columns. That away, I dont have to del each cols.
del df['ESLN']
del df['high']
del df['Low']
#writing back to NewFile.csv
df.to_csv('NewFirst.csv', header=True, index=None)