코드 효율화 : 엑셀에 있는 여러가지 일간 가격 데이터를 read_excel 로 읽어 딕셔너리 형태로 만들기.
조회수 761회
#슈퍼파일 Org 만들기
df1 = pd.read_excel('C:\\pytest\\Data_org_슈퍼파일.xlsx',sheet_name='name')
Data_Org = {}
for Freq in set(df1['Freq']):
Data_Org[Freq] = {}
for i,NAME in tqdm(enumerate(df1[df1['Freq']==Freq]['NAME'])):
df= pd.read_excel('C:\\pytest\\슈퍼파일_ver1_2020314.xlsm',sheet_name=Freq)
all_data = []
for x in range(0,len(df.columns),2):
temp_df = []
temp_df = df[[df.columns[x], df.columns[x+1]]]
temp_df = temp_df.fillna(method='bfill').dropna()
temp_df.columns = ['Date', 'Data']
all_data.append(temp_df)
Data_Org[Freq][df1[df1['Freq']==Freq].iloc[i]['NAME']]= all_data[i]
Data_Org
df1은 아래와 같습니다.
안녕하세요. 엑셀에 있는 여러가지 일간 가격 데이터를 딕셔너리 형태로 만들기 위해서 위와 같은 코드를 작성해서 활용하고 있습니다.
일간 가격 데이터 과거 히스토리가 1970년대부터 있는 자료도 있긴 한데 위 데이터를 읽어들이는데 무려 4분이 걸리네요. 총 가격 개수는 21개 밖에 되지 않습니다.
위 코드를 보다 효율적으로 수정해서 데이터 읽어들이는 시간을 단축할 수 있는 방법이 있을까요?
감사합니다.
댓글 입력