使用Python使用xlsxwriter读取数据写入Excel软件不同sheet表格中

【环境介绍】

  系统环境:win10 + python 3.5.4 + PyCharm

【背景描述】

需求:将数据库和主机查询的数据信息写入到Excel表格中

【采集数据脚本信息】

数据库层面 列子:磁盘组信息:

select to_char(sysdate, 'yyyy-mm-dd,hh24:mi:ss') check_time,name,total_mb/1024,free_mb/1024,usable_file_mb/1024,
round(100 * (total_mb - usable_file_mb) / total_mb, 2) used_pct from v$asm_diskgroup;

主机层面 例子:本地空间信息:

df -h

生成原格式数据信息:

cat >xxxdb.log
<data>
<diskgroup>
CHECK_TIME          NAME                             TOTAL_MB    FREE_MB USABLE_FILE_MB   USED_PCT
------------------- ------------------------------ ---------- ---------- -------------- ----------
2019-06-26,14:53:14 ARCH                               817016     449942         449942      44.93
2019-06-26,14:53:14 OCR                                 91344      90476          30014      67.14
2019-06-26,14:53:14 XXXXBDATA_N                      3068346      88085          88085      97.13
2019-06-26,14:53:14 XXXXDBDATA                        3579716     425776         425776      88.11
</diskgroup>
</data>
<data>
<filesystem>
2019-03-26_14:53:23
Filesystem             Size   Used  Available Capacity  Mounted on
rpool/ROOT/solaris     196G   8.2G        40G    18%    /
rpool/ROOT/solaris/var
                       196G   1.7G        40G     5%    /var
fd                       0K     0K         0K     0%    /dev/fd
swap                   555G    60M       555G     1%    /tmp
rpool/ROOT/solaris/oracle
                       196G    72G        40G    65%    /oracle
rpool/VARSHARE         196G    60M        40G     1%    /var/share
rpool/VARSHARE/zones   196G   288K        40G     1%    /system/zones
rpool/data              10G   288K        10G     1%    /data
rpool/export           196G   304K        40G     1%    /export
rpool/export/home      196G    29G        40G    43%    /export/home
rpool/export/home/admin
                       196G   352K        40G     1%    /export/home/admin
rpool/guests           196G   320K        40G     1%    /guests
zg-audit01              29G   1.5G        28G     6%    /oracle/audit
</filesystem>
</data>
 

【python 脚本】

#加载插件
import xlsxwriter, sys, re

#读取本地路径采集的日志信息
patch_file_name1= str('D:\\软件\\python\\object\\datafiles\\xxxdb.log')
#读取一行的数据
inFile1= open(patch_file_name1,'r').read()
#以<data> </data>为首尾的中间内容作为一个数组
data = re.findall(r'<data>\n([\s\S]+?)</data>\n',inFile1)

#定义Excel表格名称
workbook = xlsxwriter.Workbook('chuzhang.xlsx')

#定义表格的格式
cell_format = workbook.add_format({
'bold': True,
'border': 1,
'fg_color': '#B8B8B8',
})
#定义表格中的文本内容为自动换行格式
cell_format.set_text_wrap()

#创建第一个sheet1名称
worksheet1 = workbook.add_worksheet('磁盘组使用率')
#写入表格位置并写入数组数据,然后使用定义的表格格式
worksheet1.set_column("A:A", 100)
worksheet1.write('A2', data[0], cell_format)

#创建第二个sheet2名称
worksheet2 = workbook.add_worksheet('本地磁盘使用率')
#写入表格位置并写入数组数据,然后使用定义的表格格式
worksheet2.set_column("A:A", 100)
worksheet2.write('A2', data[1], cell_format)

#关闭表格信息
workbook.close()

【最终结果】

【参考官方文档】

xlsxwriter官方网站,http://xlsxwriter.readthedocs.org/

猜你喜欢

转载自www.cnblogs.com/zetanchen/p/11088376.html