当前位置: 首页 > news >正文

python erp excel,Python——操作Excle

先建一张表,以便操作:

69a2a0a06972

1.xlsx

利用两个模块进行操作,命令为:

pip install xlrd

pip install xlwt

69a2a0a06972

终端操作截图

导包以后,需把文件放在同级目录:

69a2a0a06972

表和项目放同级

开始上代码:

import xlrd

file_path='1.xlsx'

xlrd.book.ensure_unicode='utf-8' #设置编码

data=xlrd.open_workbook(file_path) #打开文件

sheet_names = data.sheet_names() #获取文件中所包含的Sheet名

table = data.sheet_by_index(0)

rows_count = table.nrows #取总行数

cols_count = table.ncols #取总列数

print(rows_count,cols_count) #4行4列

row_data = table.row_values(0) #取第一行的数据

col_data = table.col_values(0) #取第一列的数据

print(row_data,col_data) #['张三', '仙剑奇侠传', 'aaa', 'Beautiful', 20180806.0] ['张三', '李四', '王五', '雷六']

cell_data = row_data[0] #获取第0行第0列的值

cell_data_A1 = table.cell(1,1).value #获取第一行第一列的值

print(cell_data,cell_data_A1) #张三 西游记 注意下标从0开始

for row in range(0,rows_count):

for col in range(0,cols_count):

data1 = table.cell(row,col).value

print(data1,end='')

print('\n')

扩展,如遇时间格式,先打印一下看看结果:

#扩展--- 关于时间格式

col_data5 = table.col_values(4)

print("取时间列--",col_data5)

69a2a0a06972

打印出来的时间列

看图,可知格式并不是我们想要的。所以,我们可以利用ctype显示单元格数据的类型,ctype有这几种类型:

ctype类型有:0-Empty 1-String 2-Number 3-data 4-boolean 5-error

所以,我们可以这样,先判别时间一列对应的ctype码是什么:

print(table.cell(0,4).ctype) #2

print(table.cell(1,4).ctype) #2

print(table.cell(2,4).ctype) #2

print(table.cell(3,4).ctype) #2

#打印出来的结果,是Number格式,而并非data格式

#date_value = xlrd.xldate_as_tuple(table.cell(2,4),data.datemode)

#print(date_value) #检查时间格式是否可以用

69a2a0a06972

全都是Number格式

相关文章:

  • 做工作必须将心比心——感谢译者陈浩对我们的批评
  • php主题怎么增加导航页,WordPress主题中添加文章列表页页码导航的PHP代码实例,_PHP教程...
  • 在TCX中使用SQLite3
  • php linux 静态网页,(PHP学习笔记)实现页面静态化
  • 貌似生日的快乐
  • spring对jboss与weblogic的jms的支持不一样
  • php 银行家算法,银行家算法又被称为“资源分配拒绝”法,是一种()算法。A、死锁解除B、死锁避免C、死锁预防D、死锁检测...
  • 易语言字节集转php,易语言将下载地址解析转换成迅雷快车旋风的方法
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • oracle中软连接命令,深入理解硬链接和软链接 (转)
  • 人物散记:吴文虎教授,信息学奥赛和其他
  • oracle 设置动态变量,数据库优化技术之Oracle数据库动态绑定变量
  • C++专家荣耀5月22日下午2点作客51CTO专家聊天室
  • oracle connection reset,Oracle JDBC 连接卡死后 Connection Reset
  • oracle查询应用语句,Oracle查询语句应用经验总结
  • 【译】理解JavaScript:new 关键字
  • css的样式优先级
  • JavaScript对象详解
  • Java教程_软件开发基础
  • js对象的深浅拷贝
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • Just for fun——迅速写完快速排序
  • Lsb图片隐写
  • mysql常用命令汇总
  • Python实现BT种子转化为磁力链接【实战】
  • Vim 折腾记
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 从零开始学习部署
  • 回流、重绘及其优化
  • 简单易用的leetcode开发测试工具(npm)
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 前嗅ForeSpider采集配置界面介绍
  • 实现简单的正则表达式引擎
  • 正则学习笔记
  • 翻译 | The Principles of OOD 面向对象设计原则
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (4)STL算法之比较
  • (八十八)VFL语言初步 - 实现布局
  • (附源码)springboot教学评价 毕业设计 641310
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (转)http-server应用
  • (转载)(官方)UE4--图像编程----着色器开发
  • ******之网络***——物理***
  • .gitattributes 文件
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .net 程序发生了一个不可捕获的异常
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • .Net语言中的StringBuilder:入门到精通
  • /*在DataTable中更新、删除数据*/
  • @Autowired和@Resource装配
  • @Autowired自动装配