真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么在Python中對(duì)Excel進(jìn)行讀寫(xiě)-創(chuàng)新互聯(lián)

這篇文章主要介紹了怎么在Python中對(duì)Excel進(jìn)行讀寫(xiě),此處通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考價(jià)值,需要的朋友可以參考下:

創(chuàng)新互聯(lián)長(zhǎng)期為上千多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為老河口企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、成都做網(wǎng)站,老河口網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。python是什么意思

Python是一種跨平臺(tái)的、具有解釋性、編譯性、互動(dòng)性和面向?qū)ο蟮哪_本語(yǔ)言,其最初的設(shè)計(jì)是用于編寫(xiě)自動(dòng)化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開(kāi)發(fā)獨(dú)立的項(xiàng)目和大型項(xiàng)目。

摘要:

  • 利用xlrd讀取excel

  • 利用xlwt寫(xiě)excel

  • 利用xlutils修改excel

利用xlrd讀取excel

先需要在命令行中pip install xlrd;讀取xls文件的流程為:

加載文件->選中第幾個(gè)表格->按先行后列的順序讀

通用demo

import xlrd
filename = "test.xls"        #文件路徑
wb = xlrd.open_workbook(filename)  #加載這個(gè)xls文件
sh = wb.sheet_by_index(0)      #選中第1個(gè)表格
rows = sh.nrows           #rows為該表格的行數(shù)
for i in range(1,rows):       #從第二行開(kāi)始按行讀取
  title = sh.cell(i,0).value   #取第i+1行,第1列的數(shù)據(jù)

diy功能

根據(jù)列名獲取內(nèi)容的函數(shù)
def get_col_index(name,workbook,sheet):
  for i in range(sheet.ncols):
    name2 = sheet.cell(0,i).value
    print(name2)
    if name2 == name:
      return i
  return -1
sheet.cell(1,get_col_index("創(chuàng)建時(shí)間")).value

再拓展一點(diǎn):

sh = wb.sheet_by_name(sheetname)  #通過(guò)表格名稱選中表格
print(wb.sheet_names())       #打印該xls文件的所有表格名稱
sh.row(i)              #獲得第i+1行的所有數(shù)據(jù)組成的list
ncols = sh.ncols          #獲得該表格的所有列數(shù)
sh.row_values(rowx, start_colx=0, end_colx=None)   #獲取第rowx+1行的某幾列的數(shù)據(jù)并組成的list
sh.col(colx, start_rowx=0, end_rowx=None) #獲取第colx+1列的某幾行的數(shù)據(jù)并組成的list
sh.cell(i,j).value         #獲取第i+1行第j+1列的數(shù)據(jù)
sh.cell(i,j).ctype         #獲取第i+1行第j+1列的數(shù)據(jù)類型

注意date類型

說(shuō)起數(shù)據(jù)類型,補(bǔ)充一點(diǎn),xlrd讀取xls文件單元格的數(shù)據(jù)類型有五種,數(shù)字與類型的對(duì)應(yīng)關(guān)系為:

ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error

當(dāng)單元格某個(gè)值為date類型時(shí),不加處理輸出的是一個(gè)浮點(diǎn)數(shù),此時(shí)需要判斷ctype并進(jìn)行一次轉(zhuǎn)換:

from xlrd import xldate_as_tuple
cell = sh.cell(i,10).ctype
if cell.ctype == 3:
  date = datetime(*xldate_as_tuple(cell.value, 0))

利用xlwt寫(xiě)exce

先需要在命令行中pip install xlwt;寫(xiě)xls文件的流程為:

加載文件->選中第幾個(gè)表格->按先行后列的順序讀

通用demo

import xlwt
file = xlwt.Workbook()   #新建個(gè)文件
sheet = file.add_sheet('test_sheet0',cell_overwrite_ok=True) #新建個(gè)表格,指定表名以及是否可覆蓋寫(xiě)
sheet.write(i,j,value)   #在第i+1行和第j+1列寫(xiě)value(i、j從0開(kāi)始)
file.save("test_xls.xls")  #保存成xls文件并指定文件名

更多功能

#設(shè)置某列的寬度
sheet.col(0).width = 200
#寫(xiě)日期
style = xlwt.XFStyle()
style.num_format_str = 'D-MMM-YY' 
worksheet.write(0, 0, datetime.datetime.now(), style)
#寫(xiě)公式
sheet.write(1, 1, xlwt.Formula('SUM(A1,B1)'))
#合并單元格的寫(xiě)
sheet.write_merge(0, 0, 0, 3, 'First Merge')
#ps:
#write_merge(x, x + h, y, w + y, value, sytle) x和y表示當(dāng)前行列,h和w為要合并的行數(shù)和列數(shù)

更炫酷一點(diǎn)

既然是寫(xiě),何不來(lái)點(diǎn)style:

style = xlwt.XFStyle()
#修改字體:
font = xlwt.Font()       #為樣式創(chuàng)建字體
font.name = 'Times New Roman'  #字體名稱
font.bold = True        #黑體
font.colour_index = 2      #修改字的顏色
font.underline = True      #下劃線
style.font = font        #使用到樣式中
sheet.write(0,1,"編號(hào)",style)
#修改單元格背景色
pattern = xlwt.Pattern() 
pattern.pattern = xlwt.Pattern.SOLID_PATTERN 
pattern.pattern_fore_colour = 5 #色號(hào),可以在源代碼中看到色號(hào)和顏色的對(duì)應(yīng)關(guān)系
style = xlwt.XFStyle()
style.pattern = pattern
sheet.write(0,2,"編號(hào)",style)

利用xlutils修改excel

修改excel文件的流程為:

將xlrd加載的xls文件(xlrd對(duì)象)復(fù)制為xlwt對(duì)象,然后用xlwt對(duì)象操作excel

demo

import xlrd 
import pymysql
from xlrd import open_workbook
from xlutils.copy import copy
import xlwt
file_name = "test_update.xls"
workbook = xlrd.open_workbook(file_name) 
sheet = wb.sheet_by_index(0)
workbook_update = copy(workbook) 
sheet_update = workbook_update.get_sheet(0)
sheet_update.write(i,j,value)
workbook_update.save(file_name)

到此這篇關(guān)于怎么在Python中對(duì)Excel進(jìn)行讀寫(xiě)的文章就介紹到這了,更多相關(guān)怎么在Python中對(duì)Excel進(jìn)行讀寫(xiě)的內(nèi)容請(qǐng)搜索創(chuàng)新互聯(lián)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持創(chuàng)新互聯(lián)!


文章題目:怎么在Python中對(duì)Excel進(jìn)行讀寫(xiě)-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://weahome.cn/article/dcdojs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部