Объединить два файла CSV на основе данных из первого столбца
У меня есть два CSV-файла, как показано ниже, которые я хотел бы объединить - более или менее используя первый столбец ID_ в качестве уникального идентификатора, и добавить столбец AMT в новую строку в конечном файле.
CSV1
ID_ CUSTOMER_ID_ EMAIL_ADDRESS_
1090 1 example1@example.com
1106 2 example2@example.com
1145 3 example3@example.com
1206 4 example4@example.com
1247 5 example5@example.com
1254 6 example6@example.com
1260 7 example7@example.com
1361 8 example8@example.com
1376 9 example9@example.com
CSV2
ID_ AMT
1090 5
1106 5
1145 5
1206 5
1247 5
1254 65
1260 5
1361 10
1376 5
Вот что я ищу в окончательном файле:
ID_ CUSTOMER_ID_ EMAIL_ADDRESS_ AMT
1090 1 example1@example.com 5
1106 2 example2@example.com 5
1145 3 example3@example.com 5
1206 4 example4@example.com 5
1247 5 example5@example.com 5
1254 6 example6@example.com 65
1260 7 example7@example.com 5
1361 8 example8@example.com 10
1376 9 example9@example.com 5
Я попытался изменить это как можно ниже, но не смог получить то, что я ищу. Действительно застрял на этом - не уверен, что еще я могу сделать. Очень ценю любую помощь!
join -t, File1.csv File2.csv
Данные, показанные в этом примере, содержат вкладки, но мои настоящие файлы являются CSV, как уже упоминалось, и будут содержать запятые в качестве разделителя.
1 ответ
Это легко сделать с помощью библиотеки Pandas. Вот мой код для этого:
'''
This program reads two csv files and merges them based on a common key column.
'''
# import the pandas library
# you can install using the following command: pip install pandas
import pandas as pd
# Read the files into two dataframes.
df1 = pd.read_csv('CSV1.csv')
df2 = pd.read_csv('CSV2.csv')
# Merge the two dataframes, using _ID column as key
df3 = pd.merge(df1, df2, on = 'ID_')
df3.set_index('ID_', inplace = True)
# Write it to a new CSV file
df3.to_csv('CSV3.csv')
Краткое руководство по пандам можно найти здесь: https://pandas.pydata.org/pandas-docs/stable/getting_started/10min.html