日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Python 使用xlwt模塊將多行多列數據循環寫入excel文檔的操作

瀏覽:130日期:2022-07-05 18:38:14

我就廢話不多說了,大家還是直接看代碼吧~

#!/usr/bin/python# -*- coding: utf-8 -*-import xlwtimport redef host_regex(dataline): host_regex = r'<host>(.*?)</host>' host = re.findall(host_regex, dataline) if host: return host[0]def ip_regex(dataline): ip_regex = r'<ip>(.*?)</ip>' ip = re.findall(ip_regex, dataline) if ip: return ip[0]with open('zbx_export_hosts.xml', 'r', encoding='utf8') as f: lines = f.readlines() alldatas = [] hostlist = [] iplist = [] for line in lines: host = host_regex(line) ip = ip_regex(line) if host is not None: hostlist.append(host) if ip is not None: iplist.append(ip) hosts_ip = [] # 構造數據結構,形如:[[a,b],[c,d],...] multi_list = map(list, zip(hostlist, iplist)) for multi in multi_list: hosts_ip.append(multi) workbook = xlwt.Workbook() worksheet = workbook.add_sheet(’test’) # 關鍵代碼 for hi in enumerate(hosts_ip): for num in range(len(hi[1])): # 行、列、值 worksheet.write(hi[0], num, hi[1][num]) workbook.save(’excelwrite.xls’)

PS:其實有兩行代碼冗余,就不刪了!

補充知識:通過python寫入xlsx大量數據問題簡述

以前批處理生成數據文件都是通過c程序直接按照逗號分隔方式寫文本文件以csv保存的。但是由于有些處理的數據表直接給業務人員看,業務人員習慣使用xls,因此提了些需求改造,對于一些小于100w的數據均要求改為xlsx文件格式的報表。

考慮報表文件數據處理便捷,因此決定用python實現,最初使用了openpyxl庫,這個python庫擁有非常強大的xlsx的讀寫api,能夠很方便的實現讀寫。但是在實際使用中發現在處理較大行數的xlsx時,占用內存非常嚴重,8個字段50w行數據在運行中內存高達10G,這不是我們應用服務器能夠接受的范圍。

因此尋求改善,在網上了解后,發現創建xlsx表時,指定write_only參數是openpyxl提供的大數據寫入解決方案,以下摘自官網范例,在選擇了此參數后,無法通過ws.cell(row=i, column=j).value = ? 的方式復制,只能通過append的方式追加行。關于設置只寫cell設置樣式,可以直接查看官網

>>> from openpyxl import Workbook>>> wb = Workbook(write_only=True)>>> ws = wb.create_sheet()>>>>>> # now we’ll fill it with 100 rows x 200 columns>>>>>> for irow in range(100):... ws.append([’%d’ % i for i in range(200)]) #可以先將一行的數據寫在一個list中,直接ws.append(list)>>> # save the file>>> wb.save(’new_big_file.xlsx’) # doctest: +SKIP

不過僅僅按上述范例修改write_only跑數時發現內存占用并沒有緩解,再仔細閱讀官網說明時才發現這么一句話“When you want to dump large amounts of data make sure you have lxml installed.”原來在openpyxl安裝時,并沒有把lxml作為強依賴,只是一個可選包,然后查實發現確實服務器上并沒有安裝lxml包。

于是與為了解決這個問題先在測試環境上安裝lxml,安裝過程也不是很順利。

首先先要裝libxml2以及libxslt,因為沒有root權限,均為源碼安裝,且只能安裝在用戶目錄。需要注意的是libxml2在安裝時需要--with-python=’python安裝目錄’,libxslt安裝的時候需要指定libxml2安裝目錄。

尤其最后的lxml安裝也是坑挺多的,主要是指定libxml2和libxslt,安裝lxml時先python3 setup.py build_ext -i -I${libxml2includepath} -L${libxml2libpath} -I${libxsltincludepath} -L${libxsltlibpath} ,再python3 setup.py install。

全部安裝完之后,確實openpyxl寫xlsx不再增加內存,先在tmp目錄一個臨時文件中寫,待調用save方法時,保存到正式文件。

此外在這個問題解決中,還了解到writexlsx庫也可以處理大文件xlsx的寫入,并且安裝沒有這么多的依賴,其實還是非常推薦,也很簡介,官網有介紹。

操作大文件時指定{’constant_memory’: True}即可。

filename = ’test.xlsx’wb = xlsxwriter.Workbook(filename, {’constant_memory’: True})ws = wb.add_worksheet(’大文件’)i = 0data= []data.append(’中文’)data.append(1323)data.append(’abc’)ws.write_row(i, 0, data)i = i + 1wb.close() #直接關閉即可,不需要額外save

以上這篇Python 使用xlwt模塊將多行多列數據循環寫入excel文檔的操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: python
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久精品亚洲人成影院 | 91一区二区三区四区| 久久国产免费看| 日产欧产美韩系列久久99| 亚洲欧美久久久| 视频一区在线视频| 日韩精品91亚洲二区在线观看| 日韩精品一二三四| 97久久精品| 国产黄大片在线观看| 麻豆精品新av中文字幕| 精品久久影院| 久久免费黄色| 日韩亚洲在线| 国产精品毛片久久久| 91偷拍一区二区三区精品| 成人台湾亚洲精品一区二区| 亚洲少妇一区| 久久午夜精品一区二区| 日韩精品免费视频一区二区三区 | 久久久久久久欧美精品| 成人av二区| 国产精品午夜一区二区三区| 日本免费一区二区三区四区| 日本亚洲视频| 久久久久久夜| 久久精品观看| 日韩av一区二区在线影视| yellow在线观看网址| 视频一区二区中文字幕| 成人在线视频免费| 在线国产日韩| 91精品国产调教在线观看 | 韩国精品主播一区二区在线观看 | 中文一区一区三区免费在线观| 久久国产乱子精品免费女| 日韩精品专区| 日韩1区2区日韩1区2区| 99精品视频在线| 国产精品尤物| 美女被久久久| 久久精品影视| 国产激情精品一区二区三区| 亚洲专区一区| 蜜臀久久精品| 免费在线欧美黄色| 亚洲欧美日韩国产一区二区| 亚洲黄色网址| 日韩一区二区三免费高清在线观看| 日产精品一区| 欧美国产极品| 日韩成人av影视| 另类亚洲自拍| 亚洲激情av| 午夜久久一区| 日韩av片子| 国产精品99久久久久久董美香| 视频一区二区三区中文字幕| 欧美日韩一区二区综合| 亚洲二区免费| 久久99影视| 久久国产免费看| 亚洲精品日本| 免费毛片在线不卡| 欧美一区久久久| 卡一卡二国产精品| 国产三级一区| 日韩激情啪啪| 日精品一区二区三区| 亚洲资源av| 亚洲少妇诱惑| 欧美日韩国产亚洲一区| 国产中文在线播放| 精品视频一区二区三区在线观看 | 激情综合在线| 国产网站在线| 精品中文在线| 精品视频国内| 国语对白精品一区二区| 蜜桃精品视频| 欧美交a欧美精品喷水| 国产探花在线精品一区二区| 亚洲bt欧美bt精品777| 中文字幕一区日韩精品| 亚洲综合图色| 午夜精品影视国产一区在线麻豆| 在线视频亚洲欧美中文| 蜜桃视频第一区免费观看| 丝袜美腿亚洲一区二区图片| 另类激情亚洲| 蜜桃久久久久久| 综合国产视频| 青青在线精品| 欧美a级一区二区| 成午夜精品一区二区三区软件| 成人精品国产亚洲| 亚洲成人av观看| 欧美高清一区| 丝瓜av网站精品一区二区| 最新国产精品| 国产乱论精品| 欧美xxxx中国| 99成人超碰| 麻豆精品91| 97久久亚洲| 久久这里只有| 在线看片国产福利你懂的| 精品欧美一区二区三区在线观看| 亚洲高清久久| 一级欧美视频| 国产精品99久久久久久董美香| 粉嫩av一区二区三区四区五区 | 免费人成精品欧美精品| 日韩精选在线| 精品伊人久久| 久久国产成人午夜av影院宅| 日韩午夜一区| 日韩国产欧美一区二区三区| 国产精品igao视频网网址不卡日韩 | 亚洲精品无吗| 青青青国产精品| 久久亚洲精精品中文字幕| 青青久久av| 亚洲精品动态| 国产96在线亚洲| 日韩午夜高潮| 欧美另类中文字幕| 肉色欧美久久久久久久免费看| 噜噜噜久久亚洲精品国产品小说| 欧美一区在线观看视频| 亚洲欧洲高清| 亚洲精品国产日韩| av资源中文在线天堂| 日韩影院在线观看| 免费精品一区| 日韩午夜在线| 精品伊人久久久| 亚洲欧美日本国产专区一区| 久久不卡日韩美女| 中文久久精品| 国产成人免费| 国产精品婷婷| 成人台湾亚洲精品一区二区| 免费在线观看视频一区| 欧美激情另类| 日韩久久一区| 欧美理论视频| 麻豆91在线播放| 国产日韩综合| 成人亚洲一区二区| 亚洲精品护士| 国产在线|日韩| 国产极品一区| 日韩中文字幕一区二区三区| 色乱码一区二区三区网站| 亚洲一区二区小说| 亚洲一区资源| 国产欧美日韩精品高清二区综合区| 欧美.日韩.国产.一区.二区 | 日韩国产专区| 91成人精品在线| 中文亚洲欧美| 最新中文字幕在线播放| 日本特黄久久久高潮| 亚洲成人日韩| 精品视频黄色| 欧美日韩国产一区二区在线观看| 欧美二区视频| 色婷婷色综合| 国产精品香蕉| 亚洲3区在线| 国产精品美女久久久浪潮软件| av中文资源在线资源免费观看| 国产欧美日韩一区二区三区在线| 亚洲主播在线| 黄色成人精品网站| 精品亚洲美女网站| 日韩av自拍| 红杏一区二区三区| 美女精品久久| 久久激情综合网| 日韩激情啪啪| 91精品在线免费视频| 日韩毛片网站| 日本国产欧美| 日韩综合小视频| 日本一区福利在线| 日韩精品亚洲一区二区三区免费| 日韩在线观看一区二区| 亚洲免费激情| 亚洲精品1区2区| 99国产精品视频免费观看一公开| 日韩欧美网址| 电影亚洲精品噜噜在线观看| 在线看片国产福利你懂的| 精品一区二区三区的国产在线观看| 久久国产精品色av免费看| 欧美日韩伊人| 欧美aⅴ一区二区三区视频| 国产乱码精品一区二区亚洲|