보안 문제가 걸려있는 경우, python을 이용해서 excel 파일을 불러오려고 할 때 encoding 문제가 일어나면서 데이터프레임으로 불러오는데 어려움이 있었다.
그래서 구글링을 해본 결과!
xlwings 를 이용하면 된다는 글을 보았고, xlwings를 이용하여 엑셀파일을 데이터 프레임으로 불러오는 코드를 정리해보고자 한다.
import xlwings as xw
app = xw.App(visible=False) # visible=False를 하지 않으면, 엑셀파일이 컴퓨터상에서 열리게 된다.
xb = xw.Book("파일 경로.파일명.확장자")
n = xb.sheets.count #sheet가 몇개인지 파악
#파일의 sheet가 여러개인 경우
for t in range(1,n+1):
df = xb.sheets(t).used_range.options(pd.DataFrame).value
df.reset_index(inplace=True) #이건 해도 되고 안해도 됨
#여기서부터는 파일을 잘게 잘라야해서 추가한 코드
k = 45000 #행갯수
dfs= [df.loc[i:i+k-1,:]for i in range(0, len(df), k)]
for i, df_i in enumerate(dfs):
fname = "새로 저장할 파일명 + str(t) +"_" + str(i)+ ".csv"
df_i.to_csv(fname, index=False)
도움이 되셨길 바라며...
-끝-