日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python xlsx 大文件_Python这样操作能存储100多万行的xlsx文件!Python让你事半功倍!

發(fā)布時間:2023/12/9 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python xlsx 大文件_Python这样操作能存储100多万行的xlsx文件!Python让你事半功倍! 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

(1) 如果excel文件是xls,2003版的,使用xlrd和xlwt庫來對xls文件進(jìn)行操作

(2) 如果excel文件是xlsx,2007以上版的,使用openpyxl庫來對xlsx文件進(jìn)行操作

Tips:xlrd、xlwt和openpyxl非python自帶庫,需要進(jìn)行安裝,可以查看我之前的文章。

如果你在學(xué)習(xí)Python的過程當(dāng)中有遇見任何問題,可以加入我的python交流學(xué)習(xí)qq群:683380553,多多交流問題,互幫互助,群里有不錯的學(xué)習(xí)教程和開發(fā)工具。學(xué)習(xí)python有任何問題(學(xué)習(xí)方法,學(xué)習(xí)效率,如何就業(yè)),可以隨時來咨詢我,如果你準(zhǔn)備學(xué)習(xí)大數(shù)據(jù),也歡迎加入大數(shù)據(jù)學(xué)習(xí)交流qq群683380553,每天與大家分享學(xué)習(xí)資源哦。

我們使用Python做數(shù)據(jù)挖掘和分析時候,當(dāng)數(shù)據(jù)行超過一定數(shù)量,xls文件是存不下的。顯然無法滿足我們的大量數(shù)據(jù)存儲需求,這個時候需要改用xlsx。

那具體xls和xlsx最大分別可以存多少行呢?

(1) 對于2003版本的xls文件,最大行數(shù)是65536行

(2) 對于2007版本的xlsx文件,最大行數(shù)是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 = [] # 行數(shù)據(jù)

col = 1

for cell in row:

lineData.append(cell.value) # 1列1列讀

col = col + 1

list.append(lineData)

return list

操作數(shù)據(jù)

def operateData(filename):

list = readExcel(filename)

# 去除第一行,第一行是表頭

list.pop(0)

pprint.pprint(list)

pprint.pprint(“先按性別排序,再按身高排序”)

# 要對身高進(jìn)行排序,但是男女有別

# 先按性別排序,再按身高排序

list.sort(key=lambda ele: (ele[3], ele[4]))

pprint.pprint(list)

獲取Excel標(biāo)簽列表

比如第5行標(biāo)簽列表,總共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): # 下標(biāo)從1開始

datalist = list[i -1] # 讀取1行

col = 1

# 1列1列寫入

for data in datalist:

sheet.cell(i, col, data) #寫入內(nèi)容

col += 1

# 獲取標(biāo)簽列表

tagList = getTagList(i, len(datalist))

font = Font(‘微軟雅黑’, size = 14, color = ‘333333’)

# 設(shè)置單元格字體、字號、顏色

for tag in tagList:

sheet[tag].font = font # 設(shè)置字體

# 保存文件

book.save(outputFilePath)

except Exception as e: # 捕獲異常

print(e)

主函數(shù)

if name == “main“:

print(“讀取xlsx格式的數(shù)據(jù)”)

userList = readExcel(‘user.xlsx’)

print(“寫入xlsx文件”)

writeExcel(“user2.xlsx”, userList)

print(“操作數(shù)據(jù)”)

operateData(‘user.xlsx’)

image

總結(jié)

以上是生活随笔為你收集整理的python xlsx 大文件_Python这样操作能存储100多万行的xlsx文件!Python让你事半功倍!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。