用python处理excel 数据分析_数据分析---用python处理excel
安装
pip install xlwings
或者
conda install xlwings
或者为了安装最新版本
conda install -c conda-forge xlwings
1.脚本:通过Python与Excel交互
建立与工作簿的连接:
>>> import xlwings as xw
>>> wb = xw.Book() # 这将创造一个新的工作簿
>>> wb = xw.Book('FileName.xlsx') # 连接到当前工作目录中的现有文件
>>> wb = xw.Book(r'C:\path\to\file.xlsx') # 在Windows上:使用r进行转义
如果您在两个Excel实例中打开了相同的文件,则需要完全限定它并且包含应用程序实例。 您可以通过xw.apps.keys()找到您的应用程序实例密钥(PID):
>>> xw.apps[10559].books['FileName.xlsx']
实例化工作表对象:
>>> sht = wb.sheets['Sheet1']
这样从表格读取/写入值就很容易了:
>>> sht.range('A1').value = 'Foo 1'
>>> sht.range('A1').value
'Foo 1'
我们还可使用有许多便利功能,例如 表格范围扩大:
>>> sht.range('A1').value = [['Foo 1', 'Foo 2', 'Foo 3'], [10.0, 20.0, 30.0]]
>>> sht.range('A1').expand().value
[['Foo 1', 'Foo 2', 'Foo 3'], [10.0, 20.0, 30.0]]
还可以与Pandas、Numpy一起用
>>> import pandas as pd
>>> df = pd.DataFrame([[1,2], [3,4]], columns=['a', 'b'])
>>> sht.range('A1').value = df
>>> sht.range('A1').options(pd.DataFrame, expand='table').value
a b
0.0 1.0 2.0
1.0 3.0 4.0
还可以在excel表格内使用matplot绘制图
>>> import matplotlib.pyplot as plt
>>> fig = plt.figure()
>>> plt.plot([1, 2, 3, 4, 5])
[]
>>> sht.pictures.add(fig, name='MyPlot', update=True)
>
活动工作表的快捷方式:xw.Range
如果您想快速与活动工作簿中的活动工作表格进行对话,则无需实例化工作簿和工作表对象,只需执行以下操作:
>>> import xlwings as xw
>>> xw.Range('A1').value = 'Foo'
>>> xw.Range('A1').value
'Foo'
注意:与Excel交互时,仅应使用xw.Range。 在脚本中,应始终遍历书本和图纸对象,如上所示。
2.宏:从Excel调用Python
你可以通过单击外接程序中的“运行”按钮(v0.16中的新增功能)或使用RunPython函数从VBA调用Python函数:“运行”按钮在Python模块中需要一个名为main的函数,该函数与您的工作簿同名。
这种方法的优点在于,您不需要工作簿启用宏,而可以将其保存为xlsx。
如果要调用任何Python函数,无论它位于哪个模块中或具有什么名称,请使用RunPython:
Sub HelloWorld()
RunPython ("import hello; hello.world()")
End Sub
默认情况下,RunPython需要hello.py与Excel文件位于同一目录中,但是您可以通过config进行更改。 通过使用xw.Book.caller来参考调用Excel工作簿:
# hello.py
import numpy as np
import xlwings as xw
def world():
wb = xw.Book.caller()
wb.sheets[0].range('A1').value = 'Hello World!'
要运行此程序,您需要安装xlwings加载项。 进行所有设置的最简单方法是从Windows上的命令提示符或Mac上的终端使用xlwings命令行客户端:xlwings quickstart myproject。
有关加载项的详细信息,请参见加载项:Add-in - xlwings dev documentationdocs.xlwings.org
3. UDF:用户定义的功能(仅Windows)
用Python编写UDF很容易:
import xlwings as xw
@xw.func
def hello(name):
return 'Hello {0}'.format(name)
转换器也可以与UDF一起使用。 再次以Pandas DataFrame为例:
import xlwings as xw
import pandas as pd
@xw.func
@xw.arg('x', pd.DataFrame)
def correl2(x):
# x arrives as DataFrame
return x.corr()
通过单击xlwings加载项的导入按钮将该功能导入Excel:有关更多详细信息,请参见VBA:用户定义的功能(UDF):VBA: User Defined Functions (UDFs)docs.xlwings.org
用python处理excel 数据分析_数据分析---用python处理excel相关推荐
- excel用python数据分析_(转载)像Excel一样使用python进行数据分析
Excel是数据分析中最常用的工具,本篇文章通过python与excel的功能对比介绍如何使用python通过函数式编程完成excel中的数据处理及分析工作.在Python中pandas库用于数据处理 ...
- spss与python和sql区别_数据分析中的Excel、R、Python、SPSS、SAS和SQL
作为一直想入门数据分析的童鞋们来说,如何选定一门面向数据分析的编程语言或工具呢?注意是数据分析,而不是大数据哦,数据分析是基础了. 数据分析的工具千万种,综合起来万变不离其宗.无非是数据获取.数据存储 ...
- python 进阶公众号_数据分析的进阶之路,不容错过的最全干货公众号
原标题:数据分析的进阶之路,不容错过的最全干货公众号 技术之路就是漫长的打怪升级,不断学习前人的踩坑经验才能提升自己,切忌闭门造车.所谓独乐乐不如众乐乐,今天小编就把自己经常学习且置顶的几个公众号拿出 ...
- 利用python进行数据分析_资料 | 利用Python进行数据分析
下载地址:https://www.yanxishe.com/resourceDetail/1443?from=leiphonecolumn_res0518 以下内容节选自豆瓣: 内容简介 · · · ...
- excel随机数_数据分析常用的excel函数(2)
绝对引用与相对引用 先看一个例子:$L$3单元格输出的函数表达式,然后向右拉,excel默认是相对引用:所以最终$M$3:$S$3平均值都不一样.(具体看图清晰) 现在我的需求是:$L$3:$S$3所 ...
- python 读取excel图片_如何用Python读取Excel中图片?
公众号: 早起Python 作者:刘早起 大家好,在使用Python进行办公自动化操作时,一定少不了与Excel表格的交互,我们通常是用pandas处理表格数据,但大多数情况下,都是读取表格中的数值进 ...
- 如何将python数据输入到excel中_如何使用python将大量数据导出到Excel中的小技巧之一...
如何使用python将大量数据导出到Excel中的小技巧 (1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢 ...
- 怎么用python读取excel图_如何用Python读取Excel中图片?
公众号: 早起Python 作者:刘早起 大家好,在使用Python进行办公自动化操作时,一定少不了与Excel表格的交互,我们通常是用pandas处理表格数据,但大多数情况下,都是读取表格中的数值进 ...
- python更新excel内容_[原创]使用 Python 读写 Excel 文件(一)更新
项目要求 如果说是 Office 办公软件使得 Windows 成为主流的操作系统,那么 Excel 就是使得微软硬起来的法宝! Word 和 PowerPoint 都有不相上下的对手,但 Excel ...
- python excel计算_怎么用python导入excel计算方差
2017-01-20 回答 读excel要用到xlrd模块,官网安装(http://pypi.python.org/pypi/xlrd).然后就可以跟着里面的例子稍微试一下就知道怎么用了.大概的流程是 ...
最新文章
- ubuntu卸载_ROS入门笔记(二):ROS安装与环境配置及卸载(重点)
- 自然语言处理ACL2020论文列表
- 获取客户端IP和MAC地址
- AttributeError: ‘str‘ object has no attribute ‘read‘
- windows关闭svnserver_Windows停SVN服务的搭建和使用(二)-Win32Svn
- 如何优雅的利用Windows服务来部署ASP.NET Core程序
- Python打印到文件
- 小米鸿蒙最新信息,小米新机将搭载鸿蒙系统?还得等鸿蒙进一步的消息!
- html+表格+左侧表头,HTML多表头表格代码
- android图片颜色识别器,颜色识别器APP
- 深度学习与自然语言处理(1)_斯坦福cs224d Lecture 1
- 师徒结对活动记录表计算机,师徒结对活动记录表一.doc
- Mysql-计算两个时间之间的差值
- 1 4c语言表达方式,表达方式、表现手法、说明方法都在这里了。
- 小米手机4c获取Root权限的流程
- 英语读书笔记-Book Lovers Day 07
- 不懂复盘,再努力都是低水平重复
- 数据处理之异常值分析、处理
- VNC协议-认证过程
- 更改idea快捷方式图标_如何在Windows 10上更改快捷方式的图标