最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2017年01月21日 10:31:46   作者:cutecoot  
最近在用python處理excel表的時(shí)候出現(xiàn)了一些問題,所以想著記錄下最后的實(shí)現(xiàn)方式和問題解決方法。方便自己或者大家在有需要的時(shí)候參考借鑒,下面這篇文章主要就介紹了python使用xlrd與xlwt對(duì)excel的讀寫和格式設(shè)定的相關(guān)資料,一起來學(xué)習(xí)學(xué)習(xí)吧。

前言

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

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

1.  確認(rèn)源excel存在并用xlrd讀取第一個(gè)表單中每行的第一列的數(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準(zhǔn)備將從源表中讀出的數(shù)據(jù)寫入新表,并設(shè)定行寬和表格的格式。合并單元格2行8列后寫入標(biāo)題,并設(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'這是標(biāo)題',tittle_style) 

3. 當(dāng)函數(shù)中要用到全局變量時(shí),注意加global。否則會(huì)出現(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ù)組用逗號(hào)分隔后寫入新的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. 當(dāng)從excel中讀取的日期格式為xldate時(shí),就需要使用xlrd的xldate_as_tuple來處理為date格式。先判斷表格的ctype確實(shí)是xldate才能開始操作,否則會(huì)報(bào)錯(cuò)。之后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é)

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

相關(guān)文章

  • 基于Google的Python編碼規(guī)范標(biāo)準(zhǔn)

    基于Google的Python編碼規(guī)范標(biāo)準(zhǔn)

    這篇文章主要介紹了基于Google的Python編碼規(guī)范標(biāo)準(zhǔn),其中包含了分號(hào),行長(zhǎng)度,括號(hào),縮進(jìn),空行,空格等基本符號(hào)的使用規(guī)則,有需要的朋友可以參考下
    2021-08-08
  • 如何利用Python實(shí)現(xiàn)一個(gè)論文降重工具

    如何利用Python實(shí)現(xiàn)一個(gè)論文降重工具

    文章去重(或叫網(wǎng)頁去重)是根據(jù)文章(或網(wǎng)頁)的文字內(nèi)容來判斷多個(gè)文章之間是否重復(fù),下面這篇文章主要給大家介紹了關(guān)于利用Python實(shí)現(xiàn)論文降重工具的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • python實(shí)現(xiàn)經(jīng)緯度采樣的示例代碼

    python實(shí)現(xiàn)經(jīng)緯度采樣的示例代碼

    這篇文章主要介紹了python實(shí)現(xiàn)經(jīng)緯度采樣的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Python flask框架實(shí)現(xiàn)查詢數(shù)據(jù)庫(kù)并顯示數(shù)據(jù)

    Python flask框架實(shí)現(xiàn)查詢數(shù)據(jù)庫(kù)并顯示數(shù)據(jù)

    這篇文章主要介紹了Python flask框架實(shí)現(xiàn)查詢數(shù)據(jù)庫(kù)并顯示數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 基于python的多進(jìn)程共享變量正確打開方式

    基于python的多進(jìn)程共享變量正確打開方式

    下面小編就為大家分享一篇基于python的多進(jìn)程共享變量正確打開方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python利用smtplib實(shí)現(xiàn)郵件發(fā)送

    Python利用smtplib實(shí)現(xiàn)郵件發(fā)送

    在當(dāng)今數(shù)字時(shí)代,電子郵件已成為我們生活和工作中不可或缺的一部分,本篇文章將為你講解如何在Python發(fā)送郵件,并為你提供實(shí)現(xiàn)的多種方式,希望對(duì)大家有所幫助
    2023-06-06
  • Python列表append和+的區(qū)別淺析

    Python列表append和+的區(qū)別淺析

    這篇文章主要介紹了Python列表append和+的區(qū)別淺析,本文得出一的結(jié)論是使用append實(shí)際是修改一個(gè)列表,使用+實(shí)際是創(chuàng)建一個(gè)新的列表,需要的朋友可以參考下
    2015-02-02
  • python使用IP歸屬地查詢API追蹤網(wǎng)絡(luò)活動(dòng)

    python使用IP歸屬地查詢API追蹤網(wǎng)絡(luò)活動(dòng)

    這篇文章主要為大家介紹了python使用IP歸屬地查詢API追蹤網(wǎng)絡(luò)活動(dòng)實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • 利用arcgis的python讀取要素的X,Y方法

    利用arcgis的python讀取要素的X,Y方法

    今天小編就為大家分享一篇利用arcgis的python讀取要素的X,Y方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • 淺談Python 多進(jìn)程默認(rèn)不能共享全局變量的問題

    淺談Python 多進(jìn)程默認(rèn)不能共享全局變量的問題

    今天小編就為大家分享一篇淺談Python 多進(jìn)程默認(rèn)不能共享全局變量的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01

最新評(píng)論

新晃| 阿拉善左旗| 西宁市| 洮南市| 凌源市| 西丰县| 珲春市| 汶上县| 永定县| 万安县| 兴山县| 林口县| 土默特右旗| 黔江区| 阳新县| 厦门市| 黑龙江省| 井陉县| 安多县| 志丹县| 资阳市| 蕉岭县| 鞍山市| 海口市| 太谷县| 邻水| 巴彦县| 昭苏县| 潼南县| 新平| 揭东县| 高阳县| 安溪县| 北流市| 祁连县| 永济市| 滨海县| 忻城县| 镇巴县| 阿克陶县| 兖州市|