Python實現excel數據的讀取和寫入


首先,很感謝B站和網上的其他博客,個人覺得博主的文章很全面~,謝謝

https://www.bilibili.com/video/BV14p4y1e7RK?from=search&seid=15752825247017275522&spm_id_from=333.337.0.0,

https://blog.csdn.net/zhouz92/article/details/107119898?spm=1001.2014.3001.5501

其次,寫這篇更多的是回顧今天所學:使用python中的xlrd模塊和xlwt模塊實現對Excel中數據的寫入和讀取操作。

目標:

  1. 新建Excel工作表
  2. 向具體的單元格寫入數據
  3. 讀入其他Excel表的內容。因為我想實現第二步寫入的數據來自其他的Excel表
  4. 對單元格添加一些樣式
  •    我把每個小目標分別寫成了函數,使得代碼看起來思路清晰

詳細代碼:

分別安裝模塊: pip install xlrd     pip install xlwt

1.創建新的excel表函數:

# 創建excel表
def create_excel(): work_book = xlwt.Workbook()  # 新建工作簿
    # cell_overwrite_ok默認是False,是否覆蓋
    ws = work_book.add_sheet("Test1", cell_overwrite_ok=True)  # 新建工作表
    return work_book, ws

2.向具體的單元格寫入數據: 

這里先向(0,0)(1,1)單元格寫入數據,后期從其他工作表中讀取數據后再修改

# 向具體的工作表的單元格寫入數據
def write_data(work_book, work_sheet):  # 傳入的參數為:工作簿,工作表
    # 向單元格寫入內容
    work_sheet.write(0, 0, "123") work_sheet.write(1, 1, "come on") work_book.save("Test.xls")

3.讀取excel中的數據:

# 讀取excel表中的數據
def read_data(path): work_book = xlrd.open_workbook(path) sheet = work_book.sheet_by_index(0)  # 根據索引獲取具體是哪一個工作表,也可以根據工作表的名字來獲取工作表
    print("一共有:", sheet.nrows, "", sheet.ncols, "")

4.樣式函數:

我這里目前只是設置了一下字體,當然如果有其他需求,可以在這個函數不斷地添加需求,例如對齊方式等。

# 設置單元格樣式
def change_style(): style = xlwt.XFStyle()  # 初始化樣式
    # 字體的設置
    c_font = xlwt.Font()  # 設置字體的對象並初始化
    c_font.name = "宋體" c_font.bold = True  # 加粗
    c_font.height = 16 * 20  # 字體大小 這里設置成16號字體,但是我沒有理解*20操作
    c_font.colour_index = 0x0B  # 這里顏色並不是我們平時所見的rgb,跳轉到colour_index選擇其他顏色就可以
    style.font = c_font  # 我的理解:將修改后的字體對象賦值給總的樣式

    # 對齊方式的設置
    return style

主函數中的代碼:

write_data()函數中,如果需要設置樣式,則傳參時加入style1;如果不需要,則刪除,系統有默認的樣式,看個人需求。

if __name__ == '__main__': wb, ws = create_excel() style1=change_style() write_data(wb, ws,style1) file = "abc.xls" read_data(file)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM