簡體   English   中英

將數據幀寫入給定路徑的excel文件

[英]write dataframe to excel file at given path

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

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

but when I try 
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]無效模式('wb')或文件名:'C:\\ Users \\ Bala Nadella \\ output \\ temp-excel.xlsx'。

如何在給定路徑中創建文件。

字符串文字

研究該鏈接中的表格。 你需要用'\\\\'來逃避'\\'。 部分地,DOS是造成這個世界混亂的原因。

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"之間添加換行符。

如果您確實想使用反斜杠作為字符,請將其鍵入"\\\\"

或者更好的是,只需使用正斜杠!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM