标签归档:EXCEL

Python操作Excel类库Openpyxl之初体验

以前尝试过通过win32com方式读写excel,Win32com调用Excel是最好的一个方式,因为直接调用的是windows平台的软件,可靠性要高一些,另外excel出错的可能性也小一些。由于win32com包怎么也找不到,于是这次尝试使用openpyxl类库读写excel,选择openpyxl的原因在于它能够读取和写入Excel文件,相对于xlrd、xlwt方便一些。

1 安装openpyxl

安装方法非常简单,直接使用pip即可:
pip install openpyxl
它能自动下载和安装openpyxl所依赖的包,然后再安装openpyxl。

但是本人使用的机器是离线的,因此只能采用离线安装的方式,经过尝试,需要下载以下安装包:
et_xmlfile
jdcal
openpyxl
上面三个安装依次下装并安装,注意版本,比如Openpyxl最新版本号是3.0.5,那么et_xmlfile和jdcal下载时应注意版本号,否则会出错。不过出错也没关系,因为出错信息中会提示所依赖包的版本号,重新下载一遍也没关系。

2 操作Excel

2.1 导入openpyxl

继续阅读Python操作Excel类库Openpyxl之初体验

EXCEL数据透视表如何以表格形式显示?!

EXCEL中的数据透视表非常方便,可以快速生成报表,完成各种统计工作。最近遇到一个问题,相信大家都遇到过,就是如何以表格的形式显示数据透视表。

下面是平时常见的数据透视表样式,左边是列标题,是大纲形式的。

但是有时候,我们需要的是表格形式的数据,方便进一步筛选或者处理。这样显示的方法是,点击报表布局,选择“以表格形式显示”,然后点击字段设置,布局和打印,勾住重复项目标签。

EXCEL中录入身份证号码的方法

EXCEL中经常录入像身份证这样一大串数字的情况,通常情况下,EXCEL会把它当成数字,四舍五入,然后用科学计数法来表示,就变成类似于1.12E+17这样的形式了,点来一看,发现这个数字后面的几位都变成零了,显然出了问题。

先来说解决方法,再说原因。第一种适合录入身份证号码的时候使用,就是在身份证号码前输入一个’符号(分号右边的那个键,注意是英文状态下),然后再输入号码,这样就没有问题了,左上角的绿色三角表示是文本型数据,没有任何影响;第二种情况是大批量复制粘贴时出现的问题,比如身份证号码是在邮件、记事本中存储的,要复制到EXCEL中,这时一整列身份证号码也会变成科学计数法表示的数字,正确的方法是,先将EXCEL中要存放身份证号码的那一列选中,鼠标右键、设置单元格格式、把分类从常规改成文本,然后复制过来就一切正常了。

为什么会出现这样的问题?!因为EXCEL存储的数据,对应着不同的格式,默认是常规格式,常规格式下输入的数据,EXCEL会智能处理为相应的类型:文本、数值、日期、逻辑、公式等,方便运算。数值型数据如果超过11位,系统就会用科学计数法表示,如果超过15位,15位后面的数字将被舍去,变成0。18位的身份证号会被认为是一个很大很大的数字,所以没有指定是文本的情况下,它会被四舍五入,用科学计数法表示。