У меня есть два файла csv
1: eurusd.csv 2: xauusd.csv
в файлах нет заголовка, но есть данные «Дата и время», «Открытие», «Максимум», «Минимум», «Закрытие», «Объем». каждый файл имеет следующий тип данных ...
eurusd.csv:
02/23/2009 18:01,1.27090,1.27110,1.27040,1.27050,204
02/23/2009 18:02,1.27060,1.27060,1.27000,1.27040,211
02/23/2009 18:03,1.27040,1.27050,1.27010,1.27040,82
02/23/2009 18:04,1.27020,1.27080,1.27020,1.27060,98
xauusd.csv
02/23/2009 18:01,991.260,992.120,990.800,991.840,69
02/23/2009 18:02,991.800,992.260,991.200,991.870,74
02/23/2009 18:04,991.820,991.830,990.700,991.320,74
Я хочу объединить данные на основе столбца даты и времени, который является первым столбцом в обоих файлах. как вы можете видеть, во втором файле нет таких же записей, как в первом файле, поэтому отсутствуют некоторые данные из второго файла, но это нормально. Я хочу перенести столбец Close из второго файла в первый файл на основе совпадающего поля плитки даты между ними
поэтому окончательный объединенный файл csv будет иметь следующие столбцы ... Дата Время, Открытие, Максимум, Минимум, Закрытие, Объем, CloseFromSecondCsv
merged.csv
02/23/2009 18:01,1.27090,1.27110,1.27040,1.27050,204,991.840
02/23/2009 18:02,1.27060,1.27060,1.27000,1.27040,211,991.870
02/23/2009 18:03,1.27040,1.27050,1.27010,1.27040,82,0
02/23/2009 18:04,1.27020,1.27080,1.27020,1.27060,98,991.320
Я не знаю, как это сделать. заранее спасибо
Окончательный рабочий код, основанный на ответе TomAugspurger:
import pandas as pd
df1 = pd.read_csv("C:\IQFEED\XAUUSDO.COMP_1.csv", index_col=0, names=['time', 'open', 'high', 'low', 'close', 'volume'], parse_dates=True)
df2 = pd.read_csv("C:\IQFEED\EURUSD.COMP_1.csv", index_col=0, names=['time', 'open', 'high', 'low', 'close', 'volume'], parse_dates=True)
df2['other_close'] = df1['close']
df2.fillna(0)
df2.to_csv('C:\IQFEED\python.csv')
Я понял, используя только номера столбцов ...
import pandas as pd
df1 = pd.read_csv("C:\IQFEED\XAUUSD.txt", index_col=0, usecols=[0,4], parse_dates=True, header=None)
df2 = pd.read_csv("C:\IQFEED\EURUSD.txt", index_col=0, usecols=[0,1,2,3,4,5], parse_dates=True, header=None)
df2[6] = df1[4]
df2.to_csv('C:\IQFEED\python1.csv')