1. 程式人生 > >Python2.7 xlrd讀取、xlwt寫入、xlutils讀寫Excel表格內容

Python2.7 xlrd讀取、xlwt寫入、xlutils讀寫Excel表格內容

之前經常用python讀取Excel內容,後來有一段時間不用了再用就給忘記了,覺得記錄還是很有必要的

1. 首選安裝xlrd

安裝方法很簡單,如果裝了pip的話 pip install xlrd

2. python程式碼

實現的功能:將Excel的內容按照字典形式打印出來

結果:[{'user': 'hehe', 'psd': '1111111', 'result': '1111111'}, {'user': 'hehe', 'psd': '1111111', 'result': '1111111'}, {'user': 'hehe', 'psd': '1111111', 'result': '1111111'}, {'user': 'hehe', 'psd': '1111111', 'result': '1111111'}]

#!/usr/local/bin/python2.7
# encoding: utf-8
import xlrd
import os
"""
讀取excel內容
"""
class readExcel(object):
    def __init__(self, name):
        """獲取當前路徑"""
        curpath = os.path.dirname(__file__)
        """獲取excel檔案【與當前指令碼在同一級目錄下】"""
        self.filename = os.path.join(curpath, name)

        self.excel_handle = xlrd.open_workbook(self.filename)  # 路徑不包含中文
        # sheet1 = self.excel_handle.sheet_names()[1]           # 獲取第1個sheet的名字,可與獲取name函式一起使用
        # sheet = self.excel_handle.sheet_by_name('Sheet1')     # 根據名字獲取
        self.sheet = self.excel_handle.sheet_by_index(0)  # 根據索引獲取第一個sheet
        # print sheet.name,sheet.nrows,sheet.ncols         # 獲取sheet的表格名稱、總行數、總列數
        self.row_num = self.sheet.nrows  # 行
        #  col_num = sheet.ncols       # 列

    def readDic(self):
        dic = {}
        arr = []
        row1 = self.sheet.row_values(0)
        # 因為是Unicode編碼格式,因此需要轉成utf-8
        for i in range(1, self.row_num):
            dic[row1[0].encode('utf-8')] = self.sheet.row_values(i)[0].encode('utf-8')
            dic[row1[1].encode('utf-8')] = self.sheet.row_values(i)[1].encode('utf-8')
            dic[row1[2].encode('utf-8')] = self.sheet.row_values(i)[2].encode('utf-8')
            arr.append(dic)
        return arr


if __name__ == '__main__':
    #     read_excel = readExcel('測試.xlsx'.decode('utf-8').encode('gbk'))
    read_excel = readExcel('Excel.xlsx')
    read_excel.readDic()

因為Excel.xlsx表中填充的內容是unicode編碼,所以做了一次轉碼,如果不是的話可以不用轉。

還有路徑中含有中文的解決方案

有時候需要把從別處讀到的內容,比如cpu值等,再進行資料分析,這個時候需要用到寫入xlwt模組

安裝: pip install xlwt

#!/usr/local/bin/python2.7
# encoding: utf-8
import xlwt
"""
向excel寫入內容
"""
class writeExcel(object):
    def __init__(self):
        self.excel_w = xlwt.Workbook(encoding='utf-8')  # 設定編碼格式
        self.excel_w_sheet = self.excel_w.add_sheet('MySheet1')  # 新增sheet表

    def writLabel(self):
        """向excel寫入內容,內容自定義"""
        style = xlwt.XFStyle()  # 初始化樣式
        font = xlwt.Font()  # 為樣式建立字型
        font.name = 'Times New Roman'
        # font.bold = True                                  # 黑體
        # font.underline = True                             # 下劃線
        # font.italic = True                                # 斜體字
        style.font = font  # 設定樣式
        for i in range(10):
            for j in range(5):
                self.excel_w_sheet.write(i, j, label='admin%d%d' % (i, j))  # 引數對應 行, 列, 值
        self.excel_w.save('Excelw.xls')

if __name__ == '__main__':
    excel_w = writeExcel()
    excel_w.writLabel()

寫入的內容可以是從別處讀來的資料

結果如下:

有時候需要再特定的表格中寫入一些內容,這個時候這樣新建的寫入方式就不滿足了。python包xlutils則提供讀寫的功能

安裝: pip install xlutils

採用的是copy覆蓋的方式,首選將讀轉為寫,寫完之後儲存覆蓋原先的檔案

結果如下

很簡單的寫入,你也可以嘗試下更復雜的。比如對資料整理、格式優化等

網上的內容自己整理了一下

相關推薦

Python2.7 xlrd讀取xlwt寫入xlutilsExcel表格內容

之前經常用python讀取Excel內容,後來有一段時間不用了再用就給忘記了,覺得記錄還是很有必要的 1. 首選安裝xlrd 安裝方法很簡單,如果裝了pip的話 pip install xlrd 2. python程式碼 實現的功能:將Excel的內容按照字典形式打印

pythonExcel文件--使用xlrd模塊讀取xlwt模塊寫入

xlrd get sta series 有趣 light log 分享 均值 一、安裝xlrd模塊和xlwt模塊 1. 下載xlrd模塊和xlwt模塊 到python官網http://pypi.python.org/pypi/xlrd下載模塊。下載的文件

利用xlwtxlrd搜索excel表格內容並復制出需要的那一行內容

sha 源碼 excel 技術 read img bin 需要 ado 需求有如圖表格: 然後有姓名,想要把這些人所在的這一行資料給導出來。 1、把姓名保存成名字.txt 源表格為‘excelFile.xls‘2、源碼如下: #!/usr/bin/python # -*-

pythonexcel的相關操作(xlrdxlwt)

筆者小白在最近的qq記錄分析的任務中需要用到對excel的操作,在這裡做一個總結。 這裡需要指出的是這篇文章總結了 如何利用xlwt新建一個excel檔案,如何利用xlrd只讀一個excel檔案。 在文章的末尾總結了如何讀取一個已經存在的execel檔案,然後再

用pythonexcelxlrdxlwt

1 Examples Generating Excel Documents Using Python’s xlwt 2 3 Here are some simple examples using Python’s xlwt library to dynamically generate

Python3 進行讀取修改和Excel表格(.xlsx檔案)的常用功能示例

讀取我一般用xlrd(僅支援讀),修改用openpyxl(支援讀寫改),寫用xlsxwriter(僅支援寫 ) xlrd安裝命令 pip install xlrd openpyxl安裝命令 pip install openpyxl xlsxwriter安裝命令 pip install

【資料遷移】線上資料遷移 :雙資料庫搬歷史資料切換寫入灰度驗證(99.9999%)刪除歷史

  線上資料遷移,是指將正在提供線上服務的資料,從一個地方遷移到另一個地方,整個遷移過程中要求不停機,服務不受影響。根據資料所處層次,可以分為cache遷移和儲存遷移;根據資料遷移前後的變化,又可以分為平移和轉移。 平移是指遷移前後資料組織形式不變,比如Mysql從1個例項擴充套件為4個例項,Redis

xlrd/xlwt與openpyxl的效率比較

word row 3.1 無法 想要 整體 clas pretty ring 之前寫過python中xlrd/xlwt與openpyxl處理Excel的文章,也提到過兩者的主要區別在於寫入操作,其中xlwt針對Ecxec2007之前的版本,即.xls文件,其要求單個shee

50mysql基於mysql-proxy分離實戰

一、主從配置 192.168.130.61 master 192.168.130.62 slave 192.168.130.63 proxy master配置 [mysqld] socket=/tmp/mysql.sock basedir=/usr/local/mysql datadi

記憶體分割槽字串逆置函式發生訪問衝入的原因

題目:將一個字串逆置輸出 我下寫的程式碼如下: void reserve_string(char *string) {        char tmp;//變數tmp用來做交換        char *first_str = string;//字串的首指標   

三十一索引的弊端之分離的引入

                   索引的弊端之讀寫分離的引入 索引=列值+rowid 索引

python xlrd,xlwt excel檔案

python 讀excel檔案,需要xlrd庫。下載地址:https://pypi.python.org/pypi/xlrd python 寫excel檔案,需要xlwt庫。下載地址:https://pypi.python.org/pypi/xlwt/1.1.2 下載後修改副檔名為rar,

安裝Centos7 Mysql8 叢集,實現分離 高可用(三)-- 主從設定

零、寫在前面    為了嘗試新技術和業務需要,因此打算搞一套這樣的環境玩兒一下    作業系統及資料庫的安裝請見前兩篇一、理論依據    不再贅述我的硬體規劃等細節    這次僅用到兩臺虛擬機器,一主一

安裝Centos7 Mysql8 叢集,實現分離 高可用(四)-- MyCat分離

零、說在前面    先吐個槽,這點東西折騰了我四五天,最後還是一條告警拯救了我,下面進入正文    看了幾個MySQL的讀寫分離的中介軟體,貌似這個是比較流行的一個,雖然我不是BAT的粉絲,但是有好用的

windows 下 MySQL分離主從複製通過amoeba代理實現分離 配置全過程

配置環境: 1.mysql5.6 2.windowsXP 主從複製配置 主伺服器配置 配置my.ini檔案 查詢my.ini地址 my.ini檔案在MySQL Server 5.6目錄下 我的my.ini路徑: C:\Documents and Settings\All

MySQL/InnoDB中的鎖悲觀鎖共享鎖排它鎖行鎖表鎖死鎖與MySQL分離

MySQL/InnoDB的加鎖,一直是一個面試中常問的話題。例如,資料庫如果有高併發請求,如何保證資料完整性?產生死鎖問題如何排查並解決?我在工作過程中,也會經常用到,樂觀鎖,排它鎖,等。於是今天就對這幾個概念進行學習,屢屢思路,記錄一下。 注:MySQL是一個支援

【Linux】使用readwritelseek函式實現檔案操作

本文章主要講述Linux環境下檔案的讀寫操作,使用到的函式有open、read、write、lseek。 open:用於開啟或者建立檔案。 read:從檔案中讀指定位元組的資料到記憶體中。 write:講記憶體中資料寫入到檔案中。 lseek:可以改變當前檔案偏移量。 #

安裝Centos7 Mysql8 叢集,實現分離 高可用(二)-- 資料庫安裝篇

零、寫在前面    為了嘗試新技術和業務需要,因此打算搞一套這樣的環境玩兒一下    伺服器的安裝請見上一篇一、硬體規劃    我用的是自己的本機(8核、16G),劃分出三臺虛擬機器(一主兩從--MyS

安裝Centos7 Mysql8 叢集,實現分離 高可用(一)-- 作業系統安裝篇

零、寫在前面    為了嘗試新技術和業務需要,因此打算搞一套這樣的環境玩兒一下    我的虛擬機器環境是VMWare12    這是第一篇,Centos7系統的安裝篇一、硬體規劃    我用的是自己的本

Python簡單Excel (xlwt, xlrd, xlutils)

#!/usr/bin/env python #coding=utf8 #################################################################################### # #此程式是為了將excel中的