标题: [原创代码] pythton 读写EXCEL文件 [打印本页]
作者: codegay 时间: 2016-3-5 06:49 标题: pythton 读写EXCEL文件
- """
- python提取PKPM软件数据写入到EXCEL文件.py
- http://www.oschina.net/question/2661202_2154877
- 2016年3月5日 00:34:38 codegay
- 原文数据很多没说清楚,省点精力就写个大概。
- """
- import re
- import openpyxl
-
- with open("a.txt",encoding="utf-8") as f:
- txt=f.read()
-
- #表头
- head=["标准层","N-C","工况","Nu","Uc","N-C","MX","MY","N"]
- wb=openpyxl.Workbook()
- ws=wb.active
- ws.append(head)
-
- rec=re.findall("""N-C=.*?(\d+) .*?Nu=\s*([-+]?\d+)\. Uc= ([-+]?\d+[\.\d]*).*?抗剪承载力""",txt,re.DOTALL)
- print(rec)
-
- for r in range(0,3):
- ws['B'+str(2+r)]=rec[r][0]#N-C
- ws['D'+str(2+r)]=rec[r][1]#Nu
- ws['E'+str(2+r)]=rec[r][2]#Uc
- wb.save("test.xlsx")
复制代码
作者: codegay 时间: 2016-3-5 07:40
本帖最后由 codegay 于 2016-3-6 05:30 编辑
上面使用到一个叫openpyxl的库,基本用法其实很简单。不过放到以前我可能看不懂其用法。不过经过最近写了比较多的代码之后,对python的基础知识掌握得比较好了。上手看了一眼官方示例代码就学会用了。- from openpyxl import Workbook
- wb = Workbook()
-
- # grab the active worksheet
- ws = wb.active
-
- # Data can be assigned directly to cells
- ws['A1'] = 42
-
- # Rows can also be appended
- ws.append([1, 2, 3])
-
- # Python types will automatically be converted
- import datetime
- ws['A2'] = datetime.datetime.now()
-
- # Save the file
- wb.save("sample.xlsx")
复制代码
作者: codegay 时间: 2016-3-5 07:42
本帖最后由 codegay 于 2016-3-5 07:45 编辑
用 openpyxl 处理 xlsx 文件
这篇文章写得挺好。
http://liyangliang.me/posts/2013 ... d-write-xlsx-files/
openpyxl 是一个用来处理 excel 文件的 python 代码库。
Python 有一些内置的功能相似的代码库,不过我都没用过,而且好像都有不少局限性。
openpyxl 用起来还是挺简单的,对照文档就可以解决一些基本需求,比如常见的都写操作。
不过有一个前提,它只能用来处理 Excel 2007 及以上版本的 excel 文件,也就是 .xlsx/.xlsm 格式的表格文件。
顺便提一下,xls 和 xlsx 是两种完全不同的格式,其本质的差别相比字面的区别要多很多。
xls 的核心结构是复合文档类型的结构,而 xlsx 的核心结构是 XML 类型的结构,
采用的是基于XML的压缩方式,使其占用的空间更小。xlsx 中最后一个 x 的意义就在于此。
作者: zxlrock 时间: 2016-3-5 15:42
回复 1# codegay
我这个跑了下机子会卡死,怎么回事啊?
开源那边其实是我提的问题,在这里也谢谢你。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |