最近在用python處理excel表的時候出現了一些問題,所以想著記錄下最後的實作方式和問題解決方法。方便自己或大家在有需要的時候參考借鑒,以下這篇文章主要就介紹了python使用xlrd與xlwt對excel的讀寫和格式設定的相關資料,一起來學習學習吧。
前言
python操作excel主要用到xlrd和xlwt這兩個函式庫,即xlrd是讀excel,xlwt是寫excel的函式庫。本文主要介紹了python使用xlrd與xlwt對excel的讀寫與格式設定,以下話不多說,來看看詳細的實作過程。
腳本裡先註明# -*- coding:utf-8 -*-
1. 確認來源excel存在並以xlrd讀取第一個表單中每行的第一列的數值。
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準備將從來源表中讀出的資料寫入新表,並設定行寬和表格的格式。合併儲存格2行8列後寫入標題,並設定格式為先前定義的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. 當函數中要用到全域變數時,請注意加global。否則會出現UnboundLocalError:local variable'xxx' referenced before assignment.
check_num = 0 def check_data(sheet): global check_num check_num=check_num+1
4. 寫入日期和帶格式的數值。原來從sheet讀取的日期格式為2014/4/10,處理後只保留日期並做成數組用逗號分隔後寫入新的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來轉換為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')
更多python使用xlrd與xlwt對excel的讀寫和格式設定相關文章請關注PHP中文網!

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

Python3.6環境下加載Pickle文件報錯:ModuleNotFoundError:Nomodulenamed...

如何解決jieba分詞在景區評論分析中的問題?當我們在進行景區評論分析時,往往會使用jieba分詞工具來處理文�...

如何使用正則表達式匹配到第一個閉合標籤就停止?在處理HTML或其他標記語言時,常常需要使用正則表達式來�...


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

Dreamweaver Mac版
視覺化網頁開發工具

禪工作室 13.0.1
強大的PHP整合開發環境