programing

주어진 경로에서 엑셀 파일에 데이터 프레임 쓰기

lastmoon 2023. 8. 25. 23:55
반응형

주어진 경로에서 엑셀 파일에 데이터 프레임 쓰기

데이터 프레임이 있습니다.

df = pd.DataFrame({'Data': [10, 20, 30, 20, 15, 30, 45]})

효과가 있습니다.

writer = pd.ExcelWriter('pandas_simple.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1')
writer.save()

하지만 시도해보면,

out_path = "C:\Users\Bala\output\temp-excel.xlsx"
writer = pd.ExcelWriter(out_path , engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1')
writer.save()

오류가 발생합니다.

IOError: [Errno 22] invalid mode ('wb') or filename: 'C:\\Users\\Bala Nadella\\output\temp-excel.xlsx'. 

지정된 경로에서 파일을 만들려면 어떻게 해야 합니까?

문자열 리터럴

해당 링크의 표를 검토합니다.당신은 '\'를 '\\'로 이스케이프해야 합니다.부분적으로, 도스는 세상의 이런 혼란에 책임이 있습니다.

out_path = "C:\\Users\\Bala\\output\\temp-excel.xlsx"

또는

out_path = r"C:\Users\Bala\output\temp-excel.xlsx" # the `r` prefix means raw string

그러나 가장 좋은 대안은 다음과 같습니다.

out_path = "C:/Users/Bala/output/temp-excel.xlsx"

모든 플랫폼에서 작동합니다.


다음을 사용하여 솔루션을 제거하도록 편집됨os.path.abspath이 답변 아래의 댓글을 보고 저는 직접 문서를 읽었고, 그것이 다른 목적을 가지고 있다는 것을 깨달았습니다.과거에 코드 듀얼 OS를 친숙하게 만들기 위해 사용했지만 경로에 CWD를 깔끔하게 추가하고 변경하기 때문입니다./로.\\Debian에서 Windows로 또는 그 반대로 이동할 때 사용됩니다.

문자열에서 백슬래시는 이스케이프 문자입니다.일반 캐릭터가 아닌 특별한 명령을 내린다는 뜻입니다.예."Hello\nWorld"평균, 사이에 새 선을 긋습니다."Hello"그리고."World".

실제로 백슬래시를 문자로 사용하려면 다음과 같이 입력합니다."\\".

아니면 그냥 앞으로 슬래시를 사용하는 것이 좋습니다!

언급URL : https://stackoverflow.com/questions/38884164/write-dataframe-to-excel-file-at-given-path

반응형