返回列表 发帖

[原创代码] 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")COPY
1

评分人数

    • CrLf: 感谢分享技术 + 1
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

本帖最后由 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")COPY
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

本帖最后由 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 的意义就在于此。
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

返回列表