python 操作excel文件的庫xlrd,xlwt的使用demo

注釋較為全面,參照注釋使用即可。

庫的安裝: 從官網(wǎng)下載源碼后,解壓,cmd進(jìn)到對應(yīng)目錄下,執(zhí)行 python setup.py install 即可。

注意:1. xlrd 只能對文件進(jìn)行讀。2. xlwt 只能寫。3. 兩者的文件對象不能直接通用。

'''

# -*- coding: utf-8 -*-

import xlrd

import xlwt

from datetime import date,datetime

def edit_and_sava_as_excel():

workbook = xlrd.open_workbook(r'C:\Users\LiYang\Desktop\1.xls')? # 獲取所有sheet

print workbook.sheet_names() # [u'Sheet1', u'Sheet2']

sheet1_name = workbook.sheet_names()[0]

sheet1 = workbook.sheet_by_name('Sheet1')

print sheet1.name," row="+str(sheet1.nrows)," clo="+str(sheet1.ncols)

wbk2 = xlwt.Workbook()

sheet2 = wbk2.add_sheet('Sheet2')

for i in range(2,sheet1.nrows):

row = sheet1.row_values(i)? ? # 獲取第i行內(nèi)容

if row[2] == u'\u5973\u751f':? # 如果是女生

row[3] = 'F'+row[3]

for j in range(4,7):

if row[j] != u'':

row[j] = 'M'+row[j]

else:

row[3] = 'M'+row[3]

for j in range(4,7):

if row[j] != u'':

row[j] = 'F'+row[j]

for j in range(0,7):

sheet2.write(i,j,row[j])

wbk2.save(r'C:\Users\LiYang\Desktop\2.xls')

def read_excel():? # 打開文件

workbook = xlrd.open_workbook(r'C:\Users\LiYang\Desktop\2.xls')? # 獲取所有sheet

print workbook.sheet_names() # [u'Sheet1', u'Sheet2']

sheet1_name = workbook.sheet_names()[0]

# 根據(jù)sheet索引或者名稱獲取sheet內(nèi)容

#sheet2 = workbook.sheet_by_index(1) # sheet索引從0開始

sheet1 = workbook.sheet_by_name('Sheet2')

# sheet的名稱,行數(shù),列數(shù)

print sheet1.name," row="+str(sheet1.nrows)," clo="+str(sheet1.ncols)

# 獲取整行和整列的值(數(shù)組)

#rows = sheet1.row_values(3) # 獲取第四行內(nèi)容

cols4 = sheet1.col_values(3) # 獲取四列內(nèi)容

cols5 = sheet1.col_values(4)

cols6 = sheet1.col_values(5)

cols7 = sheet1.col_values(6)

print cols4

count=1

#從姓名列一個一個處理

for name in cols4:

print ""

print str(count)+" "+name

index = cols4.index(name)

print name + " select "+sheet1.cell(index,4).value.encode('utf-8')\

+"? "+sheet1.cell(index,5).value.encode('utf-8')\

+"? "+sheet1.cell(index,6).value.encode('utf-8')

count = count + 1

row = sheet1.row_values(cols4.index(name))? ? ? ? ? ? ? ? ? ? ? #取出自己所在的整列元素

if name in cols5 and name != u'':

a = sheet1.cell(cols5.index(name),3).value? ? ? ? ? ? ? ? ? ? ? #找到誰把你選為了五星

print "and " +a.encode('utf-8')+" select "+name

if a in row:

print a+" and "+name+" select each other!!!!!!!!!!!!!!!!!"

if name in cols6 and name != u'':

a = sheet1.cell(cols6.index(name),3).value? ? ? ? ? ? ? ? ? ? ? #找到誰把你選為了四星

print "and " +a.encode('utf-8')+" select "+name

if a in row:

print a+" and "+name+" select each other!!!!!!!!!!!!!!!!!"

if name in cols7 and name != u'':

a = sheet1.cell(cols7.index(name),3).value? ? ? ? ? ? ? ? ? ? ? #找到誰把你選為了三星

print "and " +a.encode('utf-8')+" select "+name

if a in row:

print a+" and "+name+" select each other!!!!!!!!!!!!!!!!!!"

# print rows[0].encode('utf-8'),rows[1].encode('utf-8')

# 獲取單元格內(nèi)容

#print sheet1.cell(1,0).value.encode('utf-8')

#print sheet1.cell_value(1,0).encode('utf-8')

#print sheet1.row(1)[0].value.encode('utf-8')

# 獲取單元格內(nèi)容的數(shù)據(jù)類型

#print sheet1.cell(1,0).ctype

if __name__ == '__main__':

#edit_and_sava_as_excel()

read_excel()

'''

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 使用首先需要了解他的工作原理 1.POI結(jié)構(gòu)與常用類 (1)創(chuàng)建Workbook和Sheet (2)創(chuàng)建單元格 (...
    長城ol閱讀 8,738評論 2 25
  • 最近在網(wǎng)上爬取奧運(yùn)項(xiàng)目資料,并寫入Excel中。在寫到Excel中是用到了OpenPyXL,翻譯了一部分自己用到的...
    LeeLom閱讀 201,366評論 7 78
  • #!/usr/bin/env python # -*- coding: utf-8 -*- # @File : e...
    coder_jin閱讀 906評論 0 0
  • 介紹 xlrd(讀操作),xlwt(寫操作) 上述軟件下載后,分別解壓,之后在cmd命令下分別進(jìn)入對應(yīng)的目錄中運(yùn)行...
    測試幫日記閱讀 1,417評論 0 1
  • 你說你沒有專長怎么辦?答案很簡單,去找! 想一想你做什么事最帶勁?你做什么事別人對你很認(rèn)可?你最羨慕什么樣的人?別...
    如果沒有如果了閱讀 234評論 0 0

友情鏈接更多精彩內(nèi)容