python菜鸟excel教程-Python菜鸟之路: 封装通用excel操作

前言

最近工作常要干些excel导入导出的活,用python来做最方便,写的多了,就想封装下读写的操作,后续通用,python菜鸟,大佬轻喷(不服可以来写Java ....当我没说)

设计

1.python用于excel操作的就是xlrd,xlwt两个模块,分别是负责读/写

2.封装一个excel操作的类,支持读/写操作,定义数据格式,方便读/写

代码

# -*- coding: utf-8 -*-

'this is xls util'

import xlrd

import xlwt

class xlsUtil:

def read(self, path):

'''

:param path: string 文件路径

'''

workbook = xlrd.open_workbook(path)

data_sheet = workbook.sheets()[0]

row_num = data_sheet.nrows

col_num = data_sheet.ncols

data = []

for i in range(row_num):

row_data = []

for j in range(col_num):

if(i == 0):

continue

row_data.append(data_sheet.cell_value(i, j))

data.append(row_data)

print(data)

return data

def write(self, data, header, out_path):

'''

:param data: array 表格数据

:param header: array 表头数据

:param out_path: string 输出路径

'''

wbk = xlwt.Workbook()

sheet = wbk.add_sheet('Sheet1', cell_overwrite_ok=True)

for i in range(len(header)):

sheet.write(0, i, header[i])

for row in range(len(data)):

for col in range(len(data[row])):

sheet.write(row+1, col, data[row][col])

print(out_path)

wbk.save(out_path)

# test read and write

if __name__ == '__main__':

xls_util = xlsUtil()

xls_util.read('/Users/kelin/Documents/library.xlsx')

xls_util.write([[1.0, '海底世界', '1.mp4', '1.png', 'animal:动物,coral:珊瑚,crab:蟹,dolphin:海豚,jellyfish:水母,near:靠近,ocean:海洋,plant:植物,soft:软的,tail:尾巴', '神秘的海底世界,色彩斑斓,有好多好多的动物,海龟、海豚、海豹、水母…… 鲸是怎么跳得那么高的呢,一起去看看吧~', '免费'], [2.0, '沙滩上的一天', '2.mp4', '2.png', 'brown:棕色的,cute:可爱,desk:书桌,great:美好的,late:晚的,seashell:贝壳,sky:天空,put:放,small:小的,star:星星', '沙滩,阳光,贝壳。我们会在沙滩上看到些什么呢?这一天的旅行是怎么度过呢?让我们一起度过这美好的一天吧。', '免费'], [

3.0, '沙滩,我来了!', '3.mp4', '3.png', 'beach:海滩,sea:海,shorts:短裤,summertime:夏日,swimsuit:泳衣,wave:波浪,wear:穿,sunscreen:防晒霜,tank top:背心,sunglasses:太阳眼镜', '炎炎夏日,最好的去处当然是沙滩啦。为了我们的沙滩旅行,我们需要准备些什么呢?在沙滩上,我们又会做些什么游戏呢?', '会员'], [4.0, '在度假中', '4.mp4', '4.png', 'beach:海滩,having a picnic:吃野餐,hungry:饿的,sand:沙子,sea:海,looking at:看着,sitting on:坐在…上,looking for:寻找着,together:一起,yard:院子', '度假时间到了,让我们一去去逛逛,沙滩,花园,大海,让我们一起去看看我们小伙伴的度假时光吧。', '会员']],

['编号', '名称', '视频文件', '封面文件', '单词', '简介', '权限'],'/Users/kelin/Documents/test_new2.xlsx')

read:

给定文件路径path,通过xlrd.open_workbook打开工作簿

拿到对应的sheets,nrows获取可用行,ncols获取可用列

循环遍历后append到二维数组输出

write :

data:二维数组数据

hader:表头,会输出表格到第一行

out_path:输出路径

通过Workbook.add_sheet方法增加sheet,再循环遍历write到指定单元格

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值