【发布时间】:2017-11-13 09:18:18
【问题描述】:
我在多个位置有一系列 CSV 文件,但所有文件夹的格式都相同,其中文件夹名称的唯一区别是所使用的资产/符号。所以我尝试使用通配符 (% assets) 来搜索每个文件夹,以及该文件夹中的最新文件。然后,我想计算每个资产在其自己的单独 DataFrame 中的“关闭”列的百分比变化。
每个文件如下所示:
Ticker Date/Time Close
ES U7 3/14/2017 4:44 2365.5
ES U7 3/14/2017 6:14 2360
ES U7 3/14/2017 6:29 2362.25
ES U7 3/14/2017 7:44 2361.25
ES U7 3/14/2017 7:59 2359.25
ES U7 3/14/2017 8:14 2357.25
ES U7 3/14/2017 8:29 2355
ES U7 3/14/2017 8:44 2353.75
ES U7 3/14/2017 8:59 2354.75
ES U7 3/14/2017 9:14 2354.5
ES U7 3/14/2017 9:29 2359.25
ES U7 3/14/2017 9:44 2358.5
ES U7 3/14/2017 9:59 2359
ES U7 3/14/2017 10:14 2355.5
我下面的代码正在尝试 a.读取每个 csv 文件(转换为数据框),然后 b。计算“关闭”列的百分比变化。所以我希望这段代码为“VX”、“ES”和“ZN”符号提取每个文件:
def read_files():
Assets = ['ZN','VX','ES']
path = r"C:\Users\cost9\OneDrive\Documents\PYTHON\Exported_Data\%s\*.csv" % Assets
allfiles = (max(glob.iglob(path), key=os.path.getctime))
list_ = []
for file_ in allFiles:
df1 = pd.read_csv(file_,index_col=None)
list_.append(df)
for asset in assets:
df1['Returns'] = Asset['Close'].pct_change()
我在“所有文件”定义中遇到错误:
ValueError: max() arg is an empty sequence
有人可以帮助我跨多个符号应用 for 循环/函数吗?
【问题讨论】:
-
请注意,
r"C:\Users\cost9\OneDrive\Documents\PYTHON\Exported_Data\%s\*.csv" % Assets并没有像您认为的那样做。