forked from AxTps/Starlight_Lancher
feat:移除了弹窗,服务器添加sls
This commit is contained in:
32
.claude/skills/lark-sheets/scripts/sheets_df.py
Normal file
32
.claude/skills/lark-sheets/scripts/sheets_df.py
Normal file
@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env python3
|
||||
# Copyright (c) 2026 Lark Technologies Pte. Ltd.
|
||||
# SPDX-License-Identifier: MIT
|
||||
"""DataFrame ↔ Feishu Sheet typed-JSON helpers.
|
||||
|
||||
This is the same 7-line snippet the skill docs already inline (see
|
||||
`lark-sheets-write-cells` "DataFrame → 协议(5 行 helper)" and
|
||||
`lark-sheets-read-data` "输出 → DataFrame(2 行 helper)"), pulled out
|
||||
so callers can `import` it instead of copy-pasting:
|
||||
|
||||
from sheets_df import df_to_sheet, sheet_to_df
|
||||
|
||||
Callers run lark-cli themselves; this file is a library, not a CLI.
|
||||
"""
|
||||
import json
|
||||
|
||||
import pandas as pd
|
||||
|
||||
|
||||
def df_to_sheet(df, name, formats=None):
|
||||
"""Pack one DataFrame into one entry of a `+table-put --sheets` payload."""
|
||||
return {
|
||||
"name": name,
|
||||
**json.loads(df.to_json(orient="split", date_format="iso")),
|
||||
"dtypes": df.dtypes.astype(str).to_dict(),
|
||||
**({"formats": formats} if formats else {}),
|
||||
}
|
||||
|
||||
|
||||
def sheet_to_df(sheet):
|
||||
"""Restore one `+table-get` sheet dict into a typed DataFrame."""
|
||||
return pd.DataFrame(sheet["data"], columns=sheet["columns"]).astype(sheet["dtypes"])
|
||||
Reference in New Issue
Block a user