Python处理xlsx文件
来源:互联网 发布:java多线程上传文件 编辑:程序博客网 时间:2024/06/04 08:37
今天朋友有一需求,对xlsx文件内容进行读写,要求把原来文件每行按照3列一组,改成多行,如果不足3列的,单独一行。
如:a,b,c,d,e,f,g7列,改成a,b,c d,e,f g 3行,每行都做相应的操作,完成行修改后,再进行行列转换
长话短说,本脚本使用Python3.5完成,需要3方模块xlrd,xlwt
代码:
#/usr/bin/env python# -*- coding:utf-8 -*-# Author: MengJie Qian# -*- coding: utf-8 -*-import xlrdimport xlwtL = 4def open_excel(file= 'file.xls'): try: data = xlrd.open_workbook(file) return data except Exception as e: print (str(e))#参数:file:Excel文件路径 colnameindex:表头列名所在行 by_index:表的索引def excel_table_byindex(file= 'file.xls',by_index=0,l=3): data = open_excel(file) table = data.sheets()[by_index] nrows = table.nrows #行数 ncols = table.ncols #列数 row_list =[] for rownum in range(nrows): row = table.row_values(rownum) if row: if ncols % l == 0: for col in range(ncols+1): if col !=0 and col % l == 0: app = row[col - l:col] row_list.append(app) else: for col in range((ncols // l +1) * l + 1): if (col!=0 and col % l == 0): app = row[col-l:col] row_list.append(app) return row_listdef write_to_excel(filename,sheetname): wb = xlwt.Workbook() sheet = wb.add_sheet(sheetname) # sheet的名称为test # 单元格的格式 # style = 'pattern: pattern solid, fore_colour yellow; ' # 背景颜色为黄色 # style += 'font: bold on; ' # 粗体字 # style += 'align: horz centre, vert center; ' # 居中 # header_style = xlwt.easyxf(style) datas = excel_table_byindex("d:/test.xlsx", 0, L) for col in range(len(datas)): for row in range(len(datas[col])): sheet.write(row, col, datas[col][row]) wb.save(filename)if __name__=="__main__": # l = excel_table_byindex("d:/test.xlsx",0,3) # print(l) # for n in l: # print(len(n)) write_to_excel("d:/test1.xlsx","Sheet1")
不足之处,xlwt只能创建xls文件,不能创建xlsx文件
下图是Python处理Excel常见的几个模块,对比优缺点如下
阅读全文
0 0
- Python处理xlsx文件
- python处理xlsx
- python读取xlsx文件
- Python处理EXCEL(含XLSX)
- POI-处理大Excel文件(xlsx)
- Python通过openpyxl读写xlsx文件
- Python读写Excel 2007文件(xlsx)
- Python读写Excel 2007文件(xlsx)
- python操作xlsx文件的包openpyxl
- Python操作Excel新版本xlsx文件
- Spark处理XML文件与XLSX/XLS文件
- Python之xlsx文件与csv文件相互转换
- 【玩转Excel】Oracle PLSQL处理生成XLSX文件
- 关于用POI处理xlsx文件的一些心得
- xlsx文件解析处理:openpyxl库 csv文件格式生成:csv
- 在 Node.js 中利用 js-xlsx 处理 Excel 文件
- Matlab使用xlsread读入xlsx文件错误处理
- windows下python装openpyxl 操作 excel文件 xlsx
- 第一次写博客--记录一下javascript插件开发的内容
- 解决 error: style attribute '@android:attr/windowEnterAnimation' not found.
- 698. Partition to K Equal Sum Subsets
- 支付宝登录 支付
- Netty5.0(上)
- Python处理xlsx文件
- Linux 访问 Windows 代理服务器配置
- 菜鸟Linux攻略--目录文件权限的查看和修改(详细)
- Mac 设置环境变量 PATH 的几种方法
- PHP缓存机制详解
- PGP加密文件和解密文件
- 未来十年物联网的发展趋势
- 关于python导入模块和package的一些深度思考
- visual studio 的dll目录设置