Python這樣操作能存儲100多萬行的xlsx文件
(1) 如果excel文件是xls,2003版的,使用xlrd和xlwt庫來對xls文件進行操作
(2) 如果excel文件是xlsx,2007以上版的,使用openpyxl庫來對xlsx文件進行操作
Tips:xlrd、xlwt和openpyxl非python自帶庫。
我們使用Python做數據挖掘和分析時候,當數據行超過一定數量,xls文件是存不下的。顯然無法滿足我們的大量數據存儲需求,這個時候需要改用xlsx。
那具體xls和xlsx最大分別可以存多少行呢?
(1) 對于2003版本的xls文件,最大行數是65536行
(2) 對于2007版本的xlsx文件,最大行數是1048576行
閑話不多聊,直接上代碼干貨
!/usr/bin/env python3 - - coding: utf-8 - -
讀寫2007 excel
import pprint import openpyxl import openpyxl.styles from openpyxl.styles import Font,colors
讀取Excel文件
def readExcel(filename): workbook = openpyxl.load_workbook(filename) worksheet = workbook['用戶'] list = [] for row in worksheet.rows: # 1行1行讀 lineData = [] # 行數據 col = 1 for cell in row: lineData.append(cell.value) # 1列1列讀 col = col + 1 list.append(lineData) return list
操作數據
def operateData(filename): list = readExcel(filename)
去除第一行,第一行是表頭
list.pop(0) pprint.pprint(list) pprint.pprint("先按性別排序,再按身高排序")
要對身高進行排序,但是男女有別
先按性別排序,再按身高排序
list.sort(key=lambda ele: (ele[3], ele[4])) pprint.pprint(list)
獲取Excel標簽列表
比如第5行標簽列表,總共4列 ['A5', 'B5', 'C5', 'D5']
def getTagList(index, colNum): tagList = [] for i in range(0, colNum):
A的ascii碼值65
tag = chr(65 + i) + str(index) tagList.append(tag) return tagList
寫入Excel文件
def writeExcel(outputFilePath, list): book = openpyxl.Workbook() sheet = book.create_sheet("用戶", 0) sheet.title = "用戶" # sheet名稱 rowNum = len(list) try:
1行1行讀取
for i in range(1, rowNum + 1): # 下標從1開始 datalist = list[i -1] # 讀取1行 col = 1
1列1列寫入
for data in datalist: sheet.cell(i, col, data) #寫入內容 col += 1
獲取標簽列表
tagList = getTagList(i, len(datalist)) font = Font('微軟雅黑', size = 14, color = '333333')
設置單元格字體、字號、顏色
for tag in tagList: sheet[tag].font = font # 設置字體
保存文件
book.save(outputFilePath) except Exception as e: # 捕獲異常 print(e)
主函數
if name == " main ": print("讀取xlsx格式的數據") userList = readExcel('user.xlsx') print("寫入xlsx文件") writeExcel("user2.xlsx", userList) print("操作數據") operateData('user.xlsx')
總結
以上所述是小編給大家介紹的Python這樣操作能存儲100多萬行的xlsx文件,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
- Python讀取xlsx文件的實現方法
- python使用xlrd模塊讀取xlsx文件中的ip方法
- python3讀取csv和xlsx文件的實例
- 使用python庫xlsxwriter庫來輸出各種xlsx文件的示例
- Python3讀寫Excel文件(使用xlrd,xlsxwriter,openpyxl3種方式讀寫實例與優(yōu)劣)
- python寫入數據到csv或xlsx文件的3種方法
- Python使用pandas和xlsxwriter讀寫xlsx文件的方法示例
- 對python中xlsx,csv以及json文件的相互轉化方法詳解
- Python學習_幾種存取xls/xlsx文件的方法總結
- python操作xlsx文件的包openpyxl實例
- python實現xlsx文件分析詳解
- Python操作Excel之xlsx文件
- 用python讀取xlsx文件
相關文章
Python結合ImageMagick實現多張圖片合并為一個pdf文件的方法
這篇文章主要介紹了Python結合ImageMagick實現多張圖片合并為一個pdf文件的方法,結合實例形式分析了Python將圖片文件轉換為pdf文件的相關操作技巧,需要的朋友可以參考下2018-04-04keras Lambda自定義層實現數據的切片方式,Lambda傳參數
這篇文章主要介紹了keras Lambda自定義層實現數據的切片方式,Lambda傳參數,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06