我正在尝试创建一个脚本,该脚本从名为“ 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>
我尝试了很多不同的方法,但是无法正常工作。
谢谢!