国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python使用xlrd與xlwt對excel的讀寫和格式設(shè)定

2019-11-25 16:23:25
字體:
供稿:網(wǎng)友

前言

python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。本文主要介紹了python使用xlrd與xlwt對excel的讀寫和格式設(shè)定,下面話不多說,來看看詳細的實現(xiàn)過程。

腳本里先注明# -*- coding:utf-8 -*-   

1.  確認源excel存在并用xlrd讀取第一個表單中每行的第一列的數(shù)值。

import xlrd, xlwt import os  assert os.path.isfile('source_excel.xls'),"There is no timesheet exist. Exit..."  book = xlrd.open_workbook('source_excel.xls') sheet=book.sheet_by_index(0)  for rows in range(sheet.nrows):  value = sheet.cell(rows,0).value 

2. 用xlwt準備將從源表中讀出的數(shù)據(jù)寫入新表,并設(shè)定行寬和表格的格式。合并單元格2行8列后寫入標題,并設(shè)定格式為之前定義的tittle_style。

使用的是write_merge。

wbk = xlwt.Workbook(encoding='utf-8') sheet_w = wbk.add_sheet('write_after', cell_overwrite_ok=True) sheet_w.col(3).width = 5000 tittle_style = xlwt.easyxf('font: height 300, name SimSun, colour_index red, bold on; align: wrap on, vert centre, horiz center;') sheet_w.write_merge(0,2,0,8,u'這是標題',tittle_style) 

3. 當函數(shù)中要用到全局變量時,注意加global。否則會出現(xiàn)UnboundLocalError:local variable'xxx' referenced before assignment.

check_num = 0  def check_data(sheet):  global check_num  check_num=check_num+1 

4. 寫入日期和帶格式的數(shù)值。原來從sheet中讀取的日期格式為2014/4/10,處理后只保留日期并做成數(shù)組用逗號分隔后寫入新的excel。

date_arr = [] date=sheet.cell(row,2).value.rsplit('/')[-1] if date not in date_arr:   date_arr.append(date) sheet_w.write_merge(row2,row2,6,6,date_num, normal_style) sheet_w.write_merge(row2,row2,7,7,','.join(date_arr), normal_style) 

5. 當從excel中讀取的日期格式為xldate時,就需要使用xlrd的xldate_as_tuple來處理為date格式。先判斷表格的ctype確實是xldate才能開始操作,否則會報錯。之后date格式可以使用strftime來轉(zhuǎn)化為string。如:date.strftime("%Y-%m-%d-%H")

from datetime import date,datetime from xlrd import xldate_as_tuple  if (sheet.cell(rows,3).ctype == 3):   num=num+1   date_value = xldate_as_tuple(sheet.cell_value(rows,3),book.datemode)   date_tmp = date(*date_value[:3]).strftime("%d") 

6. 最后保存新寫的表

wbk.save('new_excel.xls') 

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 呈贡县| 环江| 达拉特旗| 四子王旗| 广宗县| 宜兴市| 井冈山市| 新建县| 新野县| 桐庐县| 清丰县| 扶余县| 资中县| 中江县| 新余市| 甘南县| 嵊州市| 尖扎县| 融水| 鄄城县| 鄂伦春自治旗| 施秉县| 会昌县| 九龙坡区| 抚宁县| 泰和县| 信丰县| 万源市| 道真| 大兴区| 友谊县| 广平县| 会东县| 阿拉尔市| 汾阳市| 鹤壁市| 兰考县| 那坡县| 竹北市| 林口县| 福州市|