簡體   English   中英

Python、Pandas、to_csv、os.path.join 參數格式

[英]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.

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