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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python xlwt xlrd_用xlrd和xlwt操作Excel文档

發布時間:2025/3/19 python 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python xlwt xlrd_用xlrd和xlwt操作Excel文档 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

工作當中經常要操作excel文檔,有些完全是純粹的重復勞動。在我的工作中就遇到這樣一個需求:

1. 存在兩個excel文檔(source.xls/target.xls),列數據是一致的

2. 文檔source.xls的數據來源于target.xls,經常要修改source.xls文檔中的數據,但是兩個文檔中有一列(COLUMN_INDEX)的數據只要存在就會保持不變

3. 文檔target.xls已經存在一個office控件,可以從某個數據庫讀取數據,寫回該文檔

4. 數據庫中的數據每天都會更新

5. 需要經常更新source.xls,將不存在該文檔但存在于target.xls的數據copy過來,依據列(COLUMN_INDEX)

需求出來了,google了下,發現可以用xlrd/xlwt來操作excel文檔,模塊名取得挺有意思哦,根據名字看,顯示xlrd用來讀excel,xlwt用來寫羅。至于為啥讀和寫會是不同的第三方包,或者是excel的數據存取比較復雜吧。

xlrd模塊api文檔:http://www.lexicon.net/sjmachin/xlrd.html#xlrd.Cell-class

下面是Python實現:

#!/usr/bin/env python

#coding=utf-8

'''

created by 2010-6-26

author: py_zhu

'''

import xlrd

import xlwt

SOURCE_FILE = "source.xls"

TARGET_FILE = "target.xls"

RESULT_FILE = "result.xls"

COLUMN_INDEX = 3

def readColumnIndex():

columnIndex = -1;

#read column index(from config file)

columnIndex = COLUMN_INDEX

return columnIndex

def calc():

source = set([])

target = dict()

columnIndex = readColumnIndex()

sheet = xlrd.open_workbook(SOURCE_FILE).sheet_by_index(0)

for i in range(sheet.nrows):

source.add(sheet.cell_value(i, columnIndex))

sheet = xlrd.open_workbook(TARGET_FILE).sheet_by_index(0)

for i in range(sheet.nrows):

#(cell_value, rowIndex)

target.put(sheet.cell_value(i, columnIndex), i)

for i in source:

if i in target:

del target[i]

#create new execel file

workbook = xlwt.Workbook(encoding = 'utf-8')

resultSheet = workbook.add_sheet('result_sheet')

resultRows = target.values()

for i in range(len(resultRows)):

for j in range(sheet.ncols):

resultSheet.write(i, j, sheet.cell_value(resultRows[i], j))

workbook.save(RESULT_FILE)

def main():

calc()

if __name__ == '__main__':

main()

1

0

分享到:

2010-06-26 22:04

瀏覽 7378

評論

總結

以上是生活随笔為你收集整理的python xlwt xlrd_用xlrd和xlwt操作Excel文档的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。