熊猫索引匹配多个数据帧并将值写入文件

时间:2020-05-24 20:04:39

标签: python python-3.x

我正在尝试创建一个脚本,该脚本从名为“ Test Tracker.xlsx”的文件中读取并从该文件中的某些值创建数据框。然后,脚本应打开一个.csv文件,该文件位于基于第一个location的{​​{1}}和Name列的文件夹中。 脚本应从此.csv文件生成另一个dataframe,然后再生成dataframe,就像在Excel中一样,根据{{在.csv文件列index_match中查找值1}}和Open

代码段:

Date

这将读取“ Test Tracker.xlsx”文件,并根据列TimeO = import pandas as pd TEST = pd.ExcelFile("Trackers\TEST Tracker.xlsx") df1 = TEST.parse("Entries") values1 = df1[['Name', 'Location', 'Date', 'TimeO', 'TimeC', 'Check_2', 'Date_-1', 'Open_-1', 'High_-1', 'Low_-1', 'Close_-1', 'Volume_-1', 'VWAP_-1', '$Volume_-1', 'Trades_-1', 'Open', 'High', 'Low', 'Close', 'Volume', 'VWAP', '$Volume', 'Trades', 'Date_+1', 'Open_+1', 'High_+1', 'Low_+1', 'Close_+1', 'Volume_+1', 'VWAP_+1', '$Volume_+1', 'Trades_+1']] print("First Dataframe") print(values1[values1.Check_2.str.contains("X")]) col_list = ['Date', 'Time', 'Open', 'High', 'Low', 'Close', 'Volume', 'VWAP', 'Trades'] df2 = pd.read_csv('Entities\\New York\\Orange\\TwoHours.csv', usecols=col_list, sep=";") print("Second Dataframe") print(df2) 的所有行为其创建数据框。它还为在'Entities \ New York \ Orange \ TwoHours.csv'目录中找到的整个.csv文件创建第二个数据框。

输出:

Check_2

我想为第一个数据帧(X)中的每一行创建.csv文件数据帧。这些.csv文件可在“ Entities \ New York \ Orange \ TwoHours.csv”路径中找到,其中First Dataframe Name Location Date ... VWAP_+1 $Volume_+1 Trades_+1 0 Orange New York 20200501 ... NaN NaN NaN 1 Apple Minsk 20200505 ... NaN NaN NaN [2 rows x 32 columns] Second Dataframe Date Time Open High Low Close Volume VWAP Trades 0 20200430 15:30:00 5.70 5.97 5.65 5.75 1000 5.60 55 1 20200430 17:00:00 5.65 5.95 5.50 5.80 1200 5.65 68 2 20200430 20:00:00 5.50 5.83 5.44 5.60 1300 5.73 71 3 20200430 22:00:00 5.55 5.58 5.35 5.57 1400 5.78 81 4 20200501 15:30:00 5.50 5.85 5.45 5.70 1500 5.73 95 5 20200501 17:00:00 5.65 5.70 5.50 5.60 1600 5.65 54 6 20200501 20:00:00 5.80 5.85 5.45 5.81 1700 5.73 41 7 20200501 22:00:00 5.60 5.84 5.45 5.65 1800 5.75 62 8 20200504 15:30:00 5.40 5.87 5.45 5.75 1900 5.83 84 9 20200504 17:00:00 5.50 5.75 5.40 5.60 2000 5.72 94 10 20200504 20:00:00 5.80 5.83 5.44 5.50 2100 5.40 55 11 20200504 22:00:00 5.40 5.58 5.37 5.80 2200 5.35 87 应该是values1,而New York应该是Location

然后(例如),它应该为.csv文件中的Orange列建立索引,并根据第一个数据帧中的'Date'和Name列匹配日期和时间。然后,应将此数据粘贴到“ TEST Tracker.xlsx”文件中相应的Open列中。 ({TimeO应该是Open,Date_-1应该是'date减去1个工作日,应该是Date(或类似字典的格式,Open < / p>

我尝试了很多不同的方法,但是无法正常工作。

谢谢!

0 个答案:

没有答案
相关问题