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. Python的Numpy库简述

    numpy 是 python 的科学计算库import numpy as np 1.使用numpy读取txt文件 # dtype = "str":指定数据格式 # delimite ...

  2. python beautiful soup库的超详细用法

    原文地址https://blog.csdn.net/love666666shen/article/details/77512353 参考文章https://cuiqingcai.com/1319.ht ...

  3. iOS UI进阶-1.0 Quartz2D

    概述 Quartz 2D是一个二维绘图引擎,同时支持iOS和Mac系统.Quartz 2D能完成的工作: 绘制图形 : 线条\三角形\矩形\圆\弧等 绘制文字 绘制\生成图片(图像) 读取\生成PDF ...

  4. Django Form(表单)

    前台用 get 或 post 方法向后台提交一些数据. GET方法: html示例(保存在templates文件夹中): <!DOCTYPE html> <html> < ...

  5. 28.json数组,select选择,input输出对应数据

    效果:选择对应的车类,下面的input会实时出现车价. html: <form action="" class="priceModelform1"> ...

  6. 力攻突破M20的5分钟BOLL

  7. Apache Storm Installation

    安装的过程参照此处的过程介绍(https://www.tutorialspoint.com/apache_storm/apache_storm_installation.htm) 安装的过程要安装3个 ...

  8. css实现文字太长,显示省略号

    /*显示为省略号*/ overflow:hidden;/*隐藏*/  white-space:nowrap;/*文本不进行换行*/text-overflow:ellipsis;/*省略号*/ /*强制 ...

  9. sitecore系统教程之内容编辑器

    内容编辑器   内容编辑器是一种编辑工具,可用于管理和编辑网站上的所有内容.它专为熟悉Sitecore及其包含的功能的经验丰富的内容作者而设计. 内容编辑器的外观和功能取决于用户的角色,本地安全设置以 ...

  10. ASP.NET界面重定向传值

    这么说吧,当程序启动时,ASP.NET会自动创建一些经常使用的类的实例,而这些实例就是ASP.NET的内置对象,常用的实例对象有:Response(来自HttpResponse类).Request(来 ...