我從該代碼中得到以下警告:
file = r'.\changed_activities.xlsx'
with pd.ExcelWriter(file,
engine='openpyxl',
mode='a',
if_sheet_exists='new') as writer:
df.to_excel(writer, sheet_name=activity[0:30])
FutureWarning: Use of **kwargs is deprecated, use engine_kwargs instead. with pd.ExcelWriter(file,
我似乎無法從檔案中看到我需要替換哪些論點?示例是這樣的,但我看不出它是如何轉化為我的代碼的。
with pd.ExcelWriter(
"path_to_file.xlsx",
engine="openpyxl",
mode="a",
engine_kwargs={"keep_vba": True}
) as writer:
df.to_excel(writer, sheet_name="Sheet2")
也許是一個更開放的問題:在一般情況下,我如何/在哪里可以理解這樣的事情?
uj5u.com熱心網友回復:
不幸的是,沒有辦法從檔案中推斷出這一點(至少不是按照他們目前的措辭),因為它沒有解釋觸發警告的原因。
如果我們查看源代碼:pd.ExcelWriter
def __new__(
cls,
path: FilePath | WriteExcelBuffer | ExcelWriter,
engine: str | None = None,
date_format: str | None = None,
datetime_format: str | None = None,
mode: str = "w",
storage_options: StorageOptions = None,
if_sheet_exists: Literal["error", "new", "replace", "overlay"] | None = None,
engine_kwargs: dict | None = None,
**kwargs,
):
if kwargs:
if engine_kwargs is not None:
raise ValueError("Cannot use both engine_kwargs and **kwargs")
warnings.warn(
"Use of **kwargs is deprecated, use engine_kwargs instead.",
FutureWarning,
stacklevel=find_stack_level(),
)
任何未指定為引數的pd.ExcelWriter關鍵字引數都將觸發條件。__new__if kwargs
在您的情況下,您應該將sheet_name引數移至engine_kwargs字典。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/424767.html
上一篇:熊貓對另一列的布林值之間的行求和
