python读取excel(Python处理xls)
来源:互联网 发布:mynba2k18网络维护中 编辑:程序博客网 时间:2024/06/05 18:23
前言
在很多应用场景中,程序都需要读取excel的配置。
比如,在游戏中,数值策划用excel 建好了数值表,我们要导入到游戏中。
概述
这里我使用了 pyexcel-xls 这个东西。我个人觉得这个东西导出的数据结构,结构可读性很强,数据结构如下:
整个excel文件,转化为一个字典结构:每个key就是一个子表(Sheet)
每个子表(Sheet),转化为一个二维数组:分别为行和列。
注意,本文对应的版本更新为 pyexcel-xls 0.2.3。
安装
pypi 的地址:
https://pypi.Python.org/pypi/pyexcel-xls/
■ 方法一:
可以直接用pip安装
pip install pyexcel-xls
■ 方法二:
下载安装包手动安装。
先安装两个依赖包:
xlrd 和 pyexcel-io
然后再安装 pyexcel-xls
使用
一、读excel数据 (xls, xlsx)
1,先建立一个目标excel表,这里为了做演示,简单建立一个 read_test.xlsx 文件:
里面的数据(3行,4列):
2,写python 脚本,读这个文件:
- #! /usr/bin/env python
- #coding=utf-8
- # pyexcel_xls 以 OrderedDict 结构处理数据
- from collections import OrderedDict
- from pyexcel_xls import get_data
- from pyexcel_xls import save_data
- def read_xls_file():
- xls_data = get_data(r"D:\read_test.xlsx")
- print "Get data type:", type(xls_data)
- for sheet_n in xls_data.keys():
- print sheet_n, ":", xls_data[sheet_n]
- if __name__ == '__main__':
- read_xls_file()
看一下输出的打印信息:
可以看到:
整个excel文件,转化为一个OrderedDict (有序字典)结构:每个key就是一个子表(Sheet)。
每个子表(Sheet),转化为一个列表结构:很像二维数组,第一层列表为行(Row),行的下标为列(Column),对应的值为单元格的值。编码为 unicode
简单,易用,读出数据后,非常适合做二次处理!
■ 注意,excel文件名(就是那个xls或者xlsx文件),尽量不要用中文,如果您要使用中文,请转化为unicode编码,如:
xls_data = get_data(unicode(r"D:\试试.xlsx", "utf-8"))
二、写excel数据 (xls)
根据上文,写也比较简单,不做过多解释。
- #! /usr/bin/env python
- #coding=utf-8
- # pyexcel_xls 以 OrderedDict 结构处理数据
- from collections import OrderedDict
- from pyexcel_xls import get_data
- from pyexcel_xls import save_data
- def read_xls_file():
- xls_data = get_data(unicode(r"D:\试试.xlsx", "utf-8"))
- print "Get data type:", type(xls_data)
- for sheet_n in xls_data.keys():
- print sheet_n, ":", xls_data[sheet_n]
- return xls_data
- # 写Excel数据, xls格式
- def save_xls_file():
- data = OrderedDict()
- # sheet表的数据
- sheet_1 = []
- row_1_data = [u"ID", u"昵称", u"等级"] # 每一行的数据
- row_2_data = [4, 5, 6]
- # 逐条添加数据
- sheet_1.append(row_1_data)
- sheet_1.append(row_2_data)
- # 添加sheet表
- data.update({u"这是XX表": sheet_1})
- # 保存成xls文件
- save_data("D:\write_test.xls", data)
- if __name__ == '__main__':
- save_xls_file()
看一下写出的xls文件:
- python读取excel(Python处理xls)
- python读取excel(Python处理xls)
- 用python处理Excel文档(1)——用xlrd模块读取xls/xlsx文档
- Python 读取EXCEL(XLS、CSV)写入txt文件
- python读取xls文件
- python读取xls文件
- python读取xls文件
- Python读取txt内容写入xls格式的excel中
- python 处理xls
- python 处理xls
- 使用python读取xls文件
- 用python处理Excel文档(2)——用xlsxwriter模块写xls/xlsx文档
- Python处理Excel 写入,读取和追加
- Python xlrd读取excel异常处理
- python模块介绍- xlwt 创建xls文件(excel)
- python模块介绍- xlwt 创建xls文件(excel)
- python中使用xlrd、xlwt读写excel(xls格式)
- 用Python读取Excel(*.xls)文件——xlrd模块的使用
- 猜数游戏-牛客三模
- muduo库源码分析(3):异常类
- java 时间处理
- Easy UI
- 2017 Multi-University Training Contest 2 solutions BY 电子科技大学
- python读取excel(Python处理xls)
- linux permission denied
- spring bean 的生命周期
- (二)onSaveInatanceState()和onRestoreIntanceState()
- Ubuntu16.04下载安装wine使用TIM/QQ
- Thumbnailator--google图片处理项目
- 关于类和对象的进一步讨论
- CS231n官方笔记授权翻译总集篇发布
- 初识HTML&sublime