[英]Python, Pandas, to_csv, os.path.join argument formatting
我正在嘗試將數據框放入 csv,並注意到以下代碼有效:
df.to_csv(os.path.join(string1, string2 + ".csv"))
但是,另一方面,以下代碼不起作用。 有人可以幫我理解為什么嗎?
df.to_csv(os.path.join(string1, string2, ".csv"))
對os.path.join
的兩次調用只是返回不同的路徑:
>>> import os.path
>>> string1, string2 = "X", "Y"
>>> os.path.join(string1, string2 + ".csv")
'X/Y.csv'
>>> os.path.join(string1, string2, ".csv")
'X/Y/.csv'
后者將嘗試在目錄'X'
的名為'Y'
的子目錄中保存一個名為'.csv'
的文件。 第一個代碼將嘗試保存'Y.csv'
,這是一個不同的文件,存儲在'X'
目錄中。
這兩行給出了不同的文件路徑,因此它們可以產生不同的行為是有道理的,因為后者中的'Y'
目錄顯然不存在。
您可以通過使用(有點,但不是真的)新的pathlib
標准模塊來防止將來出現混淆:
from pathlib import Path
df.to_csv(Path(string1) / f"{string2}.csv")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.