读取EXCEL数据实例

以此表格为例:


示例表格

获取活动工作表区域

import xlwings as xw

app = xw.apps.active  # 获取活动APP
book = app.books.active  # 活动工作薄
sheet = book.sheets.active  # 活动工作表
rng: xw.Range = sheet.used_range  # 获取数据区域

print(rng.address)  # 显示单元格引用

输出:

$A$1:$C$5


获取数据列表:

使用xlwings.Range.value获取二维列表数据,如下:

print(rng.value)

输出:

[['姓名', '性别', '年龄'], ['刘备', '男', 18.0], ['张飞', '男', 17.0], ['关羽', '男', 17.0], ['孙尚香', '女', 16.0]]


数据转置

print(rng.options(transpose=True).value)    # 设置 transpose=True

输出:

[['姓名', '刘备', '张飞', '关羽', '孙尚香'], ['性别', '男', '男', '男', '女'], ['年龄', 18.0, 17.0, 17.0, 16.0]]


获取数据到pandas.DataFrame

代码如下,其中:convert参数指定为pandas.DataFrame, header参数说明表格中是否包含行标题, index参数用来说明表格中是否包含列标题(若无,pandas.DataFrame将分配默认的列标题)。

import pandas as pd

df: pd.DataFrame = rng.options(convert=pd.DataFrame, header=True, index=False).value
print(df)

输出:

姓名 性别 年龄
0 刘备 男 18.0
1 张飞 男 17.0
2 关羽 男 17.0
3 孙尚香 女 16.0
可以修改header参数和index参数尝试读取结果。
End

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。