파이썬에서 텍스트 파일을 불러와서 기존의 엑셀파일에 넣을 수가 있나요?
조회수 805회
안녕하세요?
쥬피터 노트북을 써서 계산을 하고 계산된 결과값들을 dataframe으로 만들어서 엑셀 파일에 저장을 했습니다. 그 후에 마지막으로 계산에 사용된 방법이나 계산 시간이 들어간 log 파일도 같이 엑셀 시트에 넣으려고 했는데요.
파이썬이 아닌 일반 윈도우상 작업으로는 txt파일 열고 전체 드래그해서 컨트롤 c+v를 하면 되는 작업인데
막상 파이썬 상에서 하려고하니까 검색해봐도 딱히 안나오고 어떻게 해야할지 모르겠네요.
일단
제가 원하는 형태로 복사되는건 이런 형태고요 시도를 해본코드는
import pandas as pd
log=open('path')
writer = pd.ExcelWriter('existing excel file', engine='xlsxwriter')
log.to_excel(writer , sheet_name='Sheet1', startcol=57,startrow=1)
writer.save()
기존에 표 형태의 dataframe들은 밑에 식 형태로 넣었는데 txt는 표형태로 되어있지 않으니 제대로 되질않네요. 어떻게 처리하면 좋을까요?
1 답변
-
to_excel 은 pandas dataframe 의 메소드입니다.
대략 이렇게 하면 될 것 같아요.
import pandas as pd with open("log.txt") as f: log_lines = f.readlines() log_df = pd.DataFrame(log_lines) with pd.ExcelWriter("logexcel.xlsx", engine="openpyxl", mode="a") as writer: log_df.to_excel(writer, sheet_name="Sheet3", startcol=2, startrow=2) writer.save()
기존엑셀파일에 더할 때에는 append 모드를 설정(
mode="a"
)해야 하고, engine 이 xlsxwriter 일 때에는 append 모드를 쓸 수 없네요.
댓글 입력