安装:
pip install pyexcel-xls
分析:
pyexcel_xls 以 OrderedDict 结构处理数据
数据结构如下:
整个excel文件,转化为一个OrderedDict (有序字典)结构:每个key就是一个子表(Sheet)。
每个子表(Sheet),转化为一个列表结构:很像二维数组,第一层列表为行(Row),行的下标为列(Column),对应的值为单元格的值。编码为 unicode
from collections import OrderedDict
from pyexcel_xls import get_data, save_data
def read_xls_file(path):
"""
读取数据
:param path:
:return:
"""
result = []
xls_data = get_data(path)
print '$$$$$', xls_data
print '223123123', len(xls_data)
for sheet_n in xls_data.keys():
result = xls_data[sheet_n]
return result
def save_xls_file(path):
"""
写入数据
:param path:
:return:
"""
data = OrderedDict()
# 要插入的数据
row_2 = [[2016980053L, u'\u5e38\u73ca\u73ca',
u'changshanshan@mail.ccnu.edu.cn'],
[2006983083L, u'\u8f9c\u7ea2', u'guhong@mail.ccnu.edu.cn'],
[2006983052L, u'\u80e1\u9759', u'hujing@mail.ccnu.edu.cn'],
[2009980046L, u'\u674e\u7545', u'lichang@mail.ccnu.edu.cn'],
[112, 201414528, '\xe6\x88\x91\xe6\x98\xafREN']]
# 取出之前的数据做备份
xls_data = get_data(path)
# 你想插到哪里去,就填哪个Sheet
x1 = xls_data.get('Sheet1')
# 一条条往后插
# x1.append(row_2)
x1.extend(row_2)
print 'ww---', x1
# 插完之后,使用OrderdDict结构封装
data.update({'Sheet1': x1})
# print 'data---', data
# 更新一下数据
xls_data.update(data)
# 保存数据
save_data(path, xls_data)
def verif_email(origin):
"""
验证邮箱的正确性
:param origin:
:return:
"""
return True if re.match(
"^.+\\@("
"\\[?)[a-zA-Z0-9\\-\\_\\.]"
"+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$",
origin) else False