1.1 xlrd处理.xlsx 文件

  1、xlrd常用方法

#!/usr/bin/python
# coding:utf-8
# 用xlrd读取Excel文件基本用法
import sys
import xlrd
import json # 设置编码格式
reload(sys)
sys.setdefaultencoding('utf-8') # 1. 从Excel文件中读取出Book对象
data = xlrd.open_workbook('./data.xlsx') # 2. 获取sheet页对象
sheet1 = data.sheet_by_index(0) # 3. 获取sheet页的行数和列数
nrows = sheet1.nrows
ncols = sheet1.ncols # 4. 获取单元格第0行的值(是一个列表)
row_data = sheet1.row_values(0) # 5. 获取单元格第0列的值(是一个列表)
col_data = sheet1.col_values(0) # 6. 获取单元格第0行第0列数据
cell_A1 = sheet1.cell(0, 0)

xlrd常用方法

  2、xlrd将 .xlsx读取成json格式

#!/usr/bin/python
# coding:utf-8
# 用xlrd读取Excel文件基本用法
import sys
import xlrd
import json reload(sys)
sys.setdefaultencoding('utf-8') # 设置编码格式
data = xlrd.open_workbook('./data.xlsx') # 从Excel文件中读取出Book对象
sheet1 = data.sheet_by_index(0)
nrows = sheet1.nrows
idx = sheet1.row_values(0) # 索引(即第一列数据:表头)
data = [] # 最终的数据列表
for i in range(1, nrows): # 从第1行开始遍历循环所有行,获取每行的数据
row_data = sheet1.row_values(i)
row_data_dict = {} # 组建每一行数据的字典
for j in range(len(row_data)): # 遍历行数据的每一项,赋值进行数据字典
item = row_data[j]
row_data_dict[idx[j]] = item
data.append(row_data_dict) print json.dumps(data, indent=4) '''
[{
"状态": "在职",
"角色(负责人、员工)": "负责人",
"手机号": 15134345678,
"汇报人": "tom",
"离职交接人": "",
"二级部门": "AI实验室",
"姓名": "闫峻",
"三级部门": "",
"工号": 406.0,
"一级部门": "基础数据平台部",
"性别": "男",
"备注": ""
},
{
"状态": "在职",
"角色(负责人、员工)": "员工",
"手机号": 15223457654,
"汇报人": "jack",
"离职交接人": "",
"二级部门": "AI实验室",
"姓名": "丁浩洋",
"三级部门": "",
"工号": 207.0,
"一级部门": "基础数据平台部",
"性别": "男",
"备注": ""
}
]
'''

xlrd将 .xlsx读取成json格式

  3、自定义索引 转换 .xlsx文件为json

#!/usr/bin/python
# coding:utf-8
import sys
import xlrd
import json reload(sys)
sys.setdefaultencoding('utf-8') # 设置编码格式 def xlsx_to_json(filename, idx):
'''
:param filename: .xlsx 文件 路径
:param idx: 字典 key 值(可以为表头)
'''
data = xlrd.open_workbook(filename) # 从Excel文件中读取出Book对象
sheet1 = data.sheet_by_index(0)
nrows = sheet1.nrows
data = [] # 最终的数据列表
for i in range(1, nrows): # 从第1行开始遍历循环所有行,获取每行的数据
row_data = sheet1.row_values(i)
row_data_dict = {} # 组建每一行数据的字典
for j in range(len(row_data)): # 遍历行数据的每一项,赋值进行数据字典
item = row_data[j]
if idx[j] == 'jobid' or idx[j] == 'phone': # 电话/工号 浮点数改成整数
if isinstance(item, float):
item = int(item)
row_data_dict[idx[j]] = item
data.append(row_data_dict)
return json.dumps(data) idx = ['jobid','name','sex','level1','level2','level3','role','report_line','phone','usable','hand_people','tag']
ret = xlsx_to_json('data.xlsx', idx)
print ret

自定义索引 转换 .xlsx文件为json

11111111111111

12: xlrd 处理Excel文件的更多相关文章

  1. python使用xlrd操作Excel文件

    一.xlrd读取Excel文件 用xlrd进行读取比较方便,流程和平常手动操作Excel一样,打开工作簿(Workbook),选择工作表(sheets),然后操作单元格(cell). 例子:要打开当前 ...

  2. python xlrd读取Excel文件

    1 import xlrd 2 3 #打开excel文件 4 book = xlrd.open_workbook('salary.xls') 5 6 #打印每个工作表的名称 7 for sheet i ...

  3. python利用xlrd读取excel文件始终报错原因

    1.代码按照网上百度的格式进行书写如下: 但运行后,始终报错如下: 百度了xlrd网页: 分明支持xls和xlsx两种格式的文件,但运行始终报错. 最后找到原因是因为我所读取的文件虽然是以.xls命名 ...

  4. Excel文件读写操作1(xls)

    一.Python-Excel常用的库:xlrd(read).xlwt(write).xlutils.openpyxl 1.xlrd  读取Excel文件,支持 .xls 和 .xlsx 格式. 2.x ...

  5. C#操作Excel文件

    .Net平台上对Excel进行操作主要有两种方式.第一种,把Excel文件看成一个数据库,通过OleDb的方式进行读取与操作:第二种,调用Excel的COM组件.两种方式各有特点. 注意一些简单的问题 ...

  6. 用Python对excel文件的简单操作

    #-*-coding:utf8-*- import xlrd #代开excel文件读取数据 data = xlrd.open_workbook("C:\\Users\\hyl\\Deskto ...

  7. [Python]将Excel文件中的数据导入MySQL

    Github Link 需求 现有2000+文件夹,每个文件夹下有若干excel文件,现在要将这些excel文件中的数据导入mysql. 每个excel文件的第一行是无效数据. 除了excel文件中已 ...

  8. 记录:python读取excel文件

    由于最近老是用到python读取excel文件,所以特意记录一下python读取excel文件的大体框架. 库:xlrd(读),直接pip安装即可.想要写excel文件的话,安装xlwd库即可,也是直 ...

  9. 第一节:python读取excel文件

    写在前面: (1)Excel中数字格式int(1),读出的是float(1.0)类型,导致传参时造成不同,强制转换时,int(str(1.0))在2.7版本又会报错ValueError: invali ...

随机推荐

  1. TensorFlow遇到的问题汇总(持续更新中......)

    1.调用tf.softmax_cross_entropy_with_logits函数出错. #原因是这个函数,不能按以前的方式进行调用了,只能使用命名参数的方式来调用. #原来是这样的: tf.red ...

  2. seq2seq和attention应用到文档自动摘要

    一.摘要种类 抽取式摘要 直接从原文中抽取一些句子组成摘要.本质上就是个排序问题,给每个句子打分,将高分句子摘出来,再做一些去冗余(方法是MMR)等.这种方式应用最广泛,因为比较简单.经典方法有Lex ...

  3. mac date

    格式化UTC为可读格式 mbp:~ gavin$ date -r 1546848158 2019年 1月 7日 星期一 16时02分38秒 CST 获取当前 UTC mbp:~ gavin$ date ...

  4. Python Shell 中敲击方向键显示「^[[C^[[D],问题解决

    碰到问题后,在网上搜索. 有帖子建议:yum install -y ncurses-devel,我这个2.7.13版本的在Linux下不行.估计是解决python3.x的方案. 尝试网上建议的,装了 ...

  5. 如何提取cocos iOS应用程序APP与游戏安装包里的资源与文件

    平时玩手机,看到iOS app中许多不错的图片素材的时候,有木有很心动,是不是想把其中的图片资源导出来使用,即可以练手,又可以提高自己的审美观0-0,增加app的颜值.当然,请不要作为商业用途.开发软 ...

  6. 工具方法 获取远程IP

    java-code: public String getRemoteIP(HttpServletRequest request) { String clientIp = request.getHead ...

  7. Mysql由浅入深

      1. Mysql的安装方式 1. yum安装mysql 适合对数据库要求不太高的场合,例如:并发不大,公司内部,企业内部. 1. 官网下载yum源,wget https://dev.mysql.c ...

  8. 《大话设计模式》c++实现 模版方法模式

    模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 角色: (1)AbstractClass:是抽象类,其实也 ...

  9. 在统一软件开发过程中使用UML

    如何在统一软件开发过程中使用UML? 起始阶段常用UML图 在起始阶段,通常有用例图.类图.活动图.顺序图等UML图的参与. 获取用户需求之后首先要将这些需求转化为系统的顶层用例图. 在确定了用例之后 ...

  10. Yii2缓存依赖