使用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/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM