Google Sheets (通过 Colab)
Google Colab 提供了一个实用类,用于读取和写入 Google 表格。
打开并读取工作表
我们可以通过使用以下参数初始化 sheets.InteractiveSheet
来打开现有工作表:
url
参数,例如 https://docs.google.com/spreadsheets/d/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms/sheet_id
参数,例如 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms
默认情况下,将使用最左侧的工作表,我们可以通过提供 worksheet_id
或 worksheet_name
来更改此设置。
在每个会话中首次使用 InteractiveSheet
时,我们需要授予 Colab 权限,使其能够代我们编辑云端硬盘资产。
import polars as pl
from google.colab import sheets
url = "https://docs.google.com/spreadsheets/d/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
sheet = sheets.InteractiveSheet(url=url, backend="polars", display=False)
sheet.as_df()
创建新工作表
如果您未提供电子表格的来源,系统将为您创建一个。
sheet = sheets.InteractiveSheet(title="Colab <3 Polars", backend="polars")
当您传递 df
参数时,数据将立即写入工作表。
df = pl.DataFrame({"a": [1,2,3], "b": ["a", "b", "c"]})
sheet = sheets.InteractiveSheet(df=df, title="Colab <3 Polars", backend="polars")
写入工作表
默认情况下,update
方法将清空工作表并将数据框写入左上角。
sheet.update(df)
我们可以通过 location
参数修改数据写入的位置,并通过 clear
参数控制是否在写入前清空工作表。
sheet.update(df, clear=False)
sheet.update(df, location="D3")
sheet.update(df, location=(3, 4))
在循环中将多个数据框写入工作表的一个好方法是
for i, df in dfs:
df = pl.select(x=pl.arange(5)).with_columns(pow=pl.col("x") ** i)
sheet.update(df, loc=(1, i * 3), clear=i == 0)
这将清空工作表,然后将数据框并排写入,每隔五列写入一个。