主题
xl() 函数
可以通过内置的xl()
函数访问工作表中的数据。
函数签名
python
def xl(range: str = "",
headers: bool = False,
sheet_name: str | list[str] = "",
book_url: str = "",
start_row: int | None = None,
start_column: int | None = None,
end_row: int | None = None,
end_column: int | None = None,
formula: bool = False) -> __pd.DataFrame | dict[str, __pd.DataFrame]: ...
参数列表
参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
range | str | 空字符串 | 工作表中的选区描述。 默认为工作表中已经使用的区域。 |
headers | bool | False | 是否将当前选区第一行处理为表头。 |
sheet_name | str or list | 空字符串 | 选区所在的工作表名称,可为多个。 默认为当前激活的工作表。 如果为 None 则返回全部工作表数据。 |
book_url | str | 空字符串 | 选区所在的表格文件地址。 必须为金山文档云文档地址。 默认当前表格。 |
start_row | int | None | 选区左上单元格的行,从0开始 |
start_column | int | None | 选区左上单元格的列,从0开始 |
end_row | int | 空值 | 选区右下单元格的行,从0开始 |
end_column | int | 空值 | 选区右下单元格的列,从0开始 |
formula | bool | False | 是否返回单元格内的公式内容 |
示例
以下示例会使用到如下虚拟的进销存
表格,并假设当前正在打开的是工作表1
(激活状态)。
提示
表格中的数据均虚构,仅做示例使用。
1. 获取当前工作表(工作表1
)中的所有数据,无表头。
python
# 相当于 df = pandas.DataFrame(columns=None, data={全部数据})
df1 = xl()
# 由于无表头,只能按照索引访问 df 中的数据
# 下边这条语句会输出“产品名称”
print(df1[0][0])
2. 获取当前工作表(工作表1
)中,A1:C5
区域的数据,将第一行处理为表头。
python
# 相当于 df = pandas.DataFrame(columns=[A1:C1], data=[A2:C5])
df2 = xl("A1:C5", headers=True)
# 可以通过列名来索引 df 中的数据
df2_subset = df[['产品名称', '发货日期']]
3. 获取工作表2
(当前激活为工作表1
)中,A1:G10
区域的数据,将第一行处理为表头。
python
# 相当于 df = pandas.DataFrame(columns=[A1:G1], data=[A2:G10])
df3 = xl("A1:G10", headers=True, sheet_name="工作表2")
4. 获取其它表格文档(https://kdocs.cn/l/foo
)中,工作表3
的前10行数据,第一行作为表头。
python
df4 = xl(
range="1:10",
headers=True,
sheet_name="工作表3",
book_url="https://kdocs.cn/l/foo",
)
5. 获取当前表格中,所有工作表数据。
python
# 此时将返回一个 dict[str, pandas.DataFrame] 类型的 ds
# ds 的 key 为工作表名称
ds = xl(
headers=True,
sheet_name=None,
)
df5 = ds['工作表1']
6. 获取当前表格(工作表1
)中所有售价及发货日期数据
python
df6 = xl(
start_row=0,
start_column=1,
)