下午好,
我这里有一些代码,用于根据"扇区"将源文件夹中的大约200个csv复制到目标文件夹中。他们属于。他们所属的部门通过" symbolslist"其中包含带有清单列表的csvs。该代码适用于 most 部分,除了它在符号列表中的最终csv中获取代码列表并将所有这些CSV复制到所有目标文件夹中。基本上我需要以某种方式将第一个for循环与它下面的3个for循环相结合,但是我很难做到这一点。非常感谢任何评论。
import os,sys,shutil
import glob
import pandas as pd
source_dir = 'C:\TS'
dest_dir = 'C:\TS\Combined\Groups\Cross Asset Class'
#dest_dir = 'C:\TS\Combined\copytest'
base = 'C:\TS\Combined\Groups'
dest_dirlist = (base +'/Cross Asset Class', base+'/Bonds', base + '/Commodities', \
base + '/Countries', base + '/Currencies', base + '/Industry Sectors', base + '/Segments and Styles', \
base + '/Us Sectors', base + '\Volatilities')
print(dest_dirlist)
symbolslist = (base+'/Cross Asset Class.csv', base+'/Bonds.csv',base+'/Commodities.csv' \
,base+'/Currencies.csv', base+'/Industry Sectors.csv', base+'/Segments and Styles.csv', \
base+'/US Sectors.csv')
for file in symbolslist:
print(file)
df_symbolslist = pd.read_csv(file)
print(df_symbolslist)
for ticker_file in glob.glob(os.path.join(source_dir, '*.csv*')):
for ticker in df_symbolslist['Ticker']:
print(ticker)
if ticker in ticker_file:
for path in dest_dirlist:
shutil.copy(ticker_file, path)
print(ticker + ' File Copied')
非常感谢你的时间。
答案 0 :(得分:0)
如果我理解问题,我认为你应该采用略微不同的方法。您可以创建一个{04},将代码映射到它所属的资产类列表。然后你映射到复制文件。我不认为pandas在这里有帮助 - 你可以使用标准的csv模块逐行构建地图。
我没有测试过这段代码,因为我没有合适的数据集,但考虑这样做:
dict