主题
Python✖️表格
金山文档的表格产品中引入了执行 Python 脚本能力,以期为用户提供一种更加灵活、高效的数据处理方式。
提示 📢
经过邀请内测阶段的完善和稳定,PY脚本编辑器正式推出
现在,您可以尽情体验这款基于智能表格
&表格
之上功能强大的Python编辑器了
无论您是Python新手,还是资深开发者,让我们一同探索这无限可能吧❣️
主要特点
1. 脚本内嵌在文档中
与文档数据无缝结合,跟随文档一同分享协作。
2. 云端工作
云端编码,云端执行,无需本地开发环境。
3. 丰富的第三方库支持
- 数据操作与分析: Pandas、NumPy
- 数据可视化: pyecharts
- 金融数据: akshare、tushare、baostock 等等。
开始使用
使用 Python脚本编辑器前,请先在金山文档
上新建或打开一个已有的智能表格
或表格
文件
在智能表格
/表格
文件中顶部信息区,选择效率
> PY脚本编辑器
打开PY脚本编辑器
功能的侧边栏后,可以看到文档内已经存在的Python文件和模板
点击新建脚本
,创建Python文件,进入Python编辑栏,进行代码编辑
开始之前,也可以点击下面的模板
,参考模板示例,了解表格中Python的使用
使用Python访问表格里的数据
注意
金山文档的表格类产品中有工作表
和数据表
的区别,不同的表格类型,读取/写入数据要使用的函数是不同的。
访问工作表数据
在工作表中,可以使用区域选择器,选择要访问的数据范围。在编辑代码的过程中,可以随时通过点击编辑栏上方的操作表格区域
,唤起下拉菜单,点击对应函数菜单唤起对应功能区域选择器。
也可以直接使用内置的xl()
函数,来访问工作表里的数据。例如:若要访问当前工作表的A1到G10单元格,可以使用xl("A1:G10")
。xl()
函数将返回一个包含选区内数据的pandas.DataFrame
对象。
python
df = xl("A1:G10")
# 返回表格中A1:G10的数据的pandas.DataFrame对象
print(df)
更多关于xl()
函数的用法,请参考附录xl()函数部分的介绍。
访问数据表数据
可以使用内置的dbt()
函数,来访问数据表里的数据。例如:若要访问当前数据表的全部数据,可以使用dbt()
。dbt()
函数会返回一个包含数据表内全部记录的pandas.DataFrame
对象。
Python
df = dbt()
# 返回一个包含数据表内全部记录的pandas.DataFrame对象
print(df)
更多关于dbt()
函数的用法,请参考附录dbt()函数部分的介绍。
回写数据到工作表
可以通过内置的write_xl()
函数,将数据回写到工作表。例如,将一个 pandas.DataFrame
类型的对象 df
回写到当前工作表的 A1 位置,可以使用write_xl(df, "A1")
,它将在 A1 单元格所在的位置,逐行写入df
中的数据。
python
# 将 df 回写到当前工作表的 A1 位置,逐行写入数据
import pandas as pd
nums = [1, 22, 333]
df = pd.DataFrame(nums)
write_xl(df, "A1")
更多关于write_xl()
函数的用法,请参考附录write_xl()函数部分的介绍。
回写数据到数据表
数据表组织数据的方式与传统的工作表不同,因此回写数据的方式也有区别:
注意
对数据表的回写,目前函数提供的支持是不完备的。请根据需要酌情使用。
由于数据表中的某些字段类型是对象,这些字段的值在回写时,会被忽略或修改成简单类型。请参考附录数据表字段类型部分的介绍。
1. 添加记录
可以使用insert_dbt()
函数,向数据表中添加记录。例如,使用insert_dbt
将一条姓名为张三,年龄为20
的记录添加到数据表,它将在当前数据表的末尾添加一条新的记录。
python
insert_dbt({"姓名": "张三", "年龄": 20})
更多关于insert_dbt()
函数的用法,请参考附录insert_dbt()函数部分的介绍。
2. 更新记录
可以使用update_dbt()
函数,更新数据表中的记录。例如,更新一条ID
为D
的记录,可以使用:
python
update_dbt({"_rid": "D", "年龄": 25})
更多关于update_dbt()
函数的用法,请参考附录update_dbt()函数部分的介绍。