詳解Python中xlwt庫的基本操作
更新時間:2023年11月18日 10:27:22 作者:懸崖上的金魚
xlwt 是一個用于在Python中操作Excel文件的庫,它允許用戶創(chuàng)建、修改和寫入Excel文件,本文主要為大家介紹了xlwt庫的一些基本操作,需要的可以參考一下
xlwt 簡介
xlwt
是一個用于在Python中操作Excel文件的庫。它允許用戶創(chuàng)建、修改和寫入Excel文件,支持設置單元格的格式、樣式等。以下是一些關鍵的特性和信息:
- 創(chuàng)建和寫入Excel文件:
xlwt
允許用戶創(chuàng)建新的Excel文件并在其中寫入數據。這對于生成報表、導出數據等任務非常有用。 - 支持設置單元格樣式: 通過
xlwt
,用戶可以設置單元格的字體、對齊方式、背景色等樣式,以使生成的Excel文件更具可讀性和美觀性。 - 支持多種數據類型:
xlwt
支持多種數據類型,包括文本、數字、日期等,使用戶能夠以各種格式將數據寫入Excel文件。 - 兼容性: 該庫兼容 Excel 97-2003 文件格式(.xls),因此可以在較舊版本的Excel中使用。
- 使用簡便:
xlwt
提供了簡單而直觀的接口,使得即使對于沒有豐富編程經驗的用戶也能輕松上手。
簡單示例
以下是一個簡單的示例,演示如何使用 xlwt
創(chuàng)建一個Excel文件并寫入數據:
import xlwt # 創(chuàng)建一個新的Excel文件和工作表 workbook = xlwt.Workbook() sheet = workbook.add_sheet('Sheet1') # 寫入數據到單元格 sheet.write(0, 0, 'Hello') sheet.write(0, 1, 'World!') # 保存文件 workbook.save('example.xls')
二維列表數據寫入Excel(一)
按行存儲在list的數據寫入Excel
import xlwt # 創(chuàng)建一個Workbook對象 workbook = xlwt.Workbook() # 添加一個Sheet并設置其名稱 sheet = workbook.add_sheet('我的數據') # 定義列表數據 data = [ ['id', '姓名', '國家'], [1.0, '曹操', '魏國'], [2.0, '劉備', '蜀國'], [3.0, '孫權', '吳國'], [4.0, '荀彧', '魏國'], [5.0, '諸葛亮', '蜀國'], [6.0, '周瑜', '吳國'], [7.0, '曹仁', '魏國'], [8.0, '關羽', '蜀國'], [9.0, '呂蒙', '吳國'] ] # 寫入數據到單元格 for i, row in enumerate(data): for j, value in enumerate(row): sheet.write(i, j, value,style) # 保存Workbook到文件 workbook.save('output.xlsx')
二維列表數據寫入Excel(二)
按列存儲在list的數據寫入Excel
import xlwt # 創(chuàng)建一個Workbook對象 workbook = xlwt.Workbook() sheet2 = workbook.add_sheet('我的數據2') data=[ ['id', 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0], ['姓名', '曹操', '劉備', '孫權', '荀彧', '諸葛亮', '周瑜', '曹仁', '關羽', '呂蒙'], ['國家', '魏國', '蜀國', '吳國', '魏國', '蜀國', '吳國', '魏國', '蜀國', '吳國']] # 寫入數據到單元格 for i, row in enumerate(data): for j, value in enumerate(row): sheet2.write(j, i, value) # 保存Workbook到文件 workbook.save('output2.xlsx')
把pymysql獲取的結果集寫入Excel
獲取查詢的所有結果
results = cursor.fetchall()
獲取所有列名
column_names = [i[0] for i in cursor.description]
寫入數據到工作表中
for row_index, row in enumerate(results): for col_index, value in enumerate(row): # 判斷數據類型是否為時間類型 if isinstance(value, datetime.datetime): value = value.strftime("%Y-%m-%d %H:%M:%S") sheet.write(row_index + 1, col_index, value)
完整代碼
import pymysql # 導入pymysql庫,用于連接MySQL數據庫 import xlwt # 導入xlwt庫,用于生成Excel文件 import datetime # 建立數據庫連接 connection = pymysql.connect( host='localhost', # 數據庫主機地址 user='root', # 數據庫用戶名 password='123456', # 數據庫密碼 database='caiwu' # 數據庫名稱 ) # 創(chuàng)建游標對象 cursor = connection.cursor() # 執(zhí)行SQL查詢 cursor.execute("SELECT * FROM report_品名 limit 10") # 獲取所有結果 results = cursor.fetchall() print(results) # 獲取列名(即各個字段名) column_names = [i[0] for i in cursor.description] # 創(chuàng)建Excel工作簿 workbook = xlwt.Workbook() # 創(chuàng)建工作表(即Excel中的sheet) sheet = workbook.add_sheet('Sheet1') # 寫入列名到工作表中 for col_index, column_name in enumerate(column_names): sheet.write(0, col_index, column_name) # 寫入數據到工作表中 for row_index, row in enumerate(results): for col_index, value in enumerate(row): # 判斷數據類型是否為時間類型 if isinstance(value, datetime.datetime): value = value.strftime("%Y-%m-%d %H:%M:%S") sheet.write(row_index + 1, col_index, value) # 保存Excel文件 workbook.save('output.xls') # 關閉數據庫連接 cursor.close() connection.close()
到此這篇關于詳解Python中xlwt庫的基本操作的文章就介紹到這了,更多相關Python xlwt庫內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
django 自定義過濾器(filter)處理較為復雜的變量方法
今天小編就為大家分享一篇django 自定義過濾器(filter)處理較為復雜的變量方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08淺析Python如何實現Celery任務隊列系統(tǒng)
這篇文章主要為大家詳細介紹了一個基于 Celery 和 Redis 的分布式任務隊列系統(tǒng),用于處理異步任務和定時任務,希望對大家有一定的幫助2025-04-04