欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python利用xlwt/openpyxl/xlutils實現(xiàn)寫入Excel數(shù)據(jù)

 更新時間:2024年11月27日 08:45:38   作者:CodeDevMaster  
這篇文章主要為大家詳細介紹了Python如何利用xlwt/openpyxl/xlutils這些第三方庫實現(xiàn)寫入Excel數(shù)據(jù)功能,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

xlwt

概述

xlwt庫是一個python用于操作Excel的第三方庫。它的主要功能是用來寫入Excel。通常會與xlrd 、 xlutils組合進行使用。它可以用于生成新的Excel 文件,并支持多種格式設(shè)置。

注意事項:

文件格式:xlwt僅支持.xls格式,不支持.xlsx格式。如果需要處理.xlsx 文件,可以使用openpyxl。

限制:xlwt對 Excel 文件的行數(shù)和列數(shù)有一定限制(最多 65536 行和 256 列)。

格式設(shè)置:xlwt還支持單元格格式設(shè)置,如字體、顏色、邊框等,可以通過xlwt.XFStyle() 來實現(xiàn)。

安裝xlwt庫

首先確保安裝xlwt

pip install xlwt

基本使用

創(chuàng)建一個工作簿對象和一個工作表對象,然后使用sheet.write(row, col, value)方法在指定的單元格中寫入數(shù)據(jù),最后將工作簿保存到文件中。

import xlwt

# 創(chuàng)建一個工作簿
workbook = xlwt.Workbook()

# 添加一個工作表
sheet = workbook.add_sheet('Sheet1')

# 寫入數(shù)據(jù)
sheet.write(0, 0, 'Hello')  # 第一行第一列
sheet.write(0, 1, 'World')  # 第一行第二列
sheet.write(1, 0, 123)       # 第二行第一列
sheet.write(1, 1, 456)       # 第二行第二列

# 保存文件
workbook.save('test.xls')

更具體使用示例如下:

import xlwt

# 創(chuàng)建一個工作簿
workbook = xlwt.Workbook()

# 創(chuàng)建一個工作表
sheet = workbook.add_sheet('Sheet1')

# 寫入標題
sheet.write(0, 0, '姓名')  # A1
sheet.write(0, 1, '年齡')  # B1
sheet.write(0, 2, '城市')  # C1

# 寫入數(shù)據(jù)
data = [
    ['Alice', 30, 'New York'],
    ['Bob', 25, 'Los Angeles'],
    ['Charlie', 35, 'Chicago']
]

for row_index, row_data in enumerate(data, start=1):
    for col_index, value in enumerate(row_data):
        sheet.write(row_index, col_index, value)

# 保存工作簿
workbook.save('test.xls')

設(shè)置單元格樣式

import xlwt

# 創(chuàng)建一個工作簿
workbook = xlwt.Workbook()

# 添加一個工作表
sheet = workbook.add_sheet('Styled Sheet')

# 創(chuàng)建一個樣式
style = xlwt.XFStyle()
style.font.bold = True  # 設(shè)置字體為粗體
style.alignment.horz = xlwt.Alignment.HORZ_CENTER  # 水平居中

# 寫入數(shù)據(jù)并應(yīng)用樣式
sheet.write(0, 0, 'Header 1', style)  # 第一行第一列
sheet.write(0, 1, 'Header 2', style)  # 第一行第二列

# 寫入普通數(shù)據(jù)
sheet.write(1, 0, 'Row 1, Col 1')
sheet.write(1, 1, 'Row 1, Col 2')

# 保存文件
workbook.save('styled.xls')

合并單元格

import xlwt

# 創(chuàng)建一個工作簿
workbook = xlwt.Workbook()

# 添加一個工作表
sheet = workbook.add_sheet('Merged Cells')

# 創(chuàng)建一個樣式
style = xlwt.XFStyle()
style.font.bold = True  # 設(shè)置字體為粗體
style.alignment.horz = xlwt.Alignment.HORZ_CENTER  # 水平居中

# 合并單元格
sheet.write_merge(0, 0, 0, 1, 'Merged Header', style)  # 合并第一行第一列和第二列

# 寫入其他數(shù)據(jù)
sheet.write(1, 0, 'Row 2, Col 1')
sheet.write(1, 1, 'Row 2, Col 2')

# 保存文件
workbook.save('merged.xls')

添加公式

import xlwt

# 創(chuàng)建一個工作簿
workbook = xlwt.Workbook()

# 添加一個工作表
sheet = workbook.add_sheet('Formulas')

# 寫入數(shù)據(jù)
sheet.write(0, 0, 5)  # A1
sheet.write(0, 1, 10)  # B1

# 添加公式
sheet.write(0, 2, xlwt.Formula('A1 + B1'))  # C1 = A1 + B1

# 保存文件
workbook.save('formula.xls')

openpyxl

概述

openpyxl是一個用于讀寫Excel 文件(.xlsx 格式)的Python 庫。它功能強大,支持多種Excel操作,包括創(chuàng)建、修改和讀取Excel文件,尤其適用于需要處理復(fù)雜Excel文件的場景。

主要功能:

讀取和寫入Excel文件:支持打開現(xiàn)有的Excel文件并進行修改,也可以創(chuàng)建新的Excel文件。

支持多種數(shù)據(jù)類型:可以處理字符串、數(shù)字、日期等多種數(shù)據(jù)類型。

單元格格式化:支持對單元格進行各種格式設(shè)置,包括字體、顏色、邊框、對齊方式等。

圖表支持:可以在 Excel 中創(chuàng)建和修改圖表。

公式支持:可以在單元格中寫入公式并計算結(jié)果。

支持圖像:可以在 Excel 文件中插入圖像。

注意事項:

文件格式:openpyxl支持.xlsx格式,不支持.xls格式。

性能:在處理大量數(shù)據(jù)時,openpyxl性能較好,但在某些情況下可能會比其他庫(如pandas)慢。

復(fù)雜功能:對于需要處理復(fù)雜 Excel 文件(如圖表、公式等)的用戶,openpyxl 提供了豐富的功能和靈活性。

安裝

要使用 openpyxl,首先需要安裝它。

pip install openpyxl

基本使用

首先導(dǎo)入openpyxl,選擇創(chuàng)建一個新的工作簿或加載一個現(xiàn)有的工作簿,通過名稱或索引選擇工作表,使用sheet.cell(row, column, value)方法在指定的單元格中寫入數(shù)據(jù),最后將工作簿保存到文件中

import openpyxl

# 創(chuàng)建一個新的工作簿
workbook = openpyxl.Workbook()
# 或者加載一個現(xiàn)有的Excel文件
# workbook = openpyxl.load_workbook('test.xlsx')

# 選擇活動工作表
sheet = workbook.active
sheet.title = 'Sheet1'
# 或者通過名稱選擇工作表
# sheet = workbook['Sheet1']

# 寫入標題
sheet['A1'] = '姓名' # 第一行第一列
sheet['B1'] = '年齡' # 第一行第二列
sheet['C1'] = '城市'

# 寫入數(shù)據(jù)
data = [
    ['Alice', 30, 'New York'],
    ['Bob', 25, 'Los Angeles'],
    ['Charlie', 35, 'Chicago']
]

for row_index, row_data in enumerate(data, start=2):
    for col_index, value in enumerate(row_data, start=1):
        sheet.cell(row=row_index, column=col_index, value=value)

# 保存工作簿
workbook.save('test.xlsx')

設(shè)置單元格樣式

import openpyxl
from openpyxl.styles import Font, Alignment

# 創(chuàng)建一個工作簿
workbook = openpyxl.Workbook()

# 選擇活動工作表
sheet = workbook.active
sheet.title = 'Styled Sheet'

# 創(chuàng)建樣式
bold_font = Font(bold=True, color='FF0000')  # 粗體紅色字體
center_alignment = Alignment(horizontal='center')  # 水平居中

# 寫入數(shù)據(jù)并應(yīng)用樣式
sheet['A1'] = 'Header 1'
sheet['A1'].font = bold_font
sheet['A1'].alignment = center_alignment

sheet['B1'] = 'Header 2'
sheet['B1'].font = bold_font
sheet['B1'].alignment = center_alignment

# 寫入普通數(shù)據(jù)
sheet['A2'] = 'Row 2, Col 1'
sheet['B2'] = 'Row 2, Col 2'

# 保存文件
workbook.save('styled.xlsx')

合并單元格

import openpyxl

# 創(chuàng)建一個工作簿
workbook = openpyxl.Workbook()

# 選擇活動工作表
sheet = workbook.active
sheet.title = 'Merged Cells'

# 合并單元格
sheet.merge_cells('A1:B1')  # 合并 A1 和 B1
sheet['A1'] = 'Merged Header'  # 設(shè)置合并單元格的值

# 寫入其他數(shù)據(jù)
sheet['A2'] = 'Row 2, Col 1'
sheet['B2'] = 'Row 2, Col 2'

# 保存文件
workbook.save('merged.xlsx')

添加公式

import openpyxl

# 創(chuàng)建一個工作簿
workbook = openpyxl.Workbook()

# 選擇活動工作表
sheet = workbook.active
sheet.title = 'Formulas'

# 寫入數(shù)據(jù)
sheet['A1'] = 5  # A1
sheet['B1'] = 10  # B1

# 添加公式
sheet['C1'] = '=A1 + B1'  # C1 = A1 + B1

# 保存文件
workbook.save('formula.xlsx')

設(shè)置列寬和行高

import openpyxl

# 創(chuàng)建一個工作簿
workbook = openpyxl.Workbook()

# 選擇活動工作表
sheet = workbook.active
sheet.title = 'Adjust Size'

# 設(shè)置列寬
sheet.column_dimensions['A'].width = 10  # 設(shè)置 A 列寬度為 10
sheet.column_dimensions['B'].width = 30  # 設(shè)置 B 列寬度為 30

# 設(shè)置行高
sheet.row_dimensions[1].height = 40  # 設(shè)置第一行高度為 40

# 寫入數(shù)據(jù)
sheet['A1'] = '1111111111'
sheet['B1'] = '222222222222222222'

# 保存文件
workbook.save('size_adjusted.xlsx')

添加圖表

使用 openpyxl 可以輕松地將圖表添加到 Excel 文件中。

import openpyxl
from openpyxl.chart import BarChart, Reference

# 創(chuàng)建一個工作簿
workbook = openpyxl.Workbook()
sheet = workbook.active
sheet.title = 'Chart Example'

# 寫入數(shù)據(jù)
data = [
    ['Month', 'Sales'],
    ['January', 100],
    ['February', 120],
    ['March', 140],
]
for row in data:
    sheet.append(row)

# 創(chuàng)建圖表
chart = BarChart()
chart.title = "Monthly Sales"
chart.x_axis.title = "Month"
chart.y_axis.title = "Sales"

# 指定數(shù)據(jù)范圍
data_ref = Reference(sheet, min_col=2, min_row=1, max_col=2, max_row=4)
categories_ref = Reference(sheet, min_col=1, min_row=2, max_row=4)

chart.add_data(data_ref, titles_from_data=True)
chart.set_categories(categories_ref)

# 將圖表添加到工作表
sheet.add_chart(chart, "D2")

# 保存文件
workbook.save('chart_example.xlsx')

條件格式化

可以根據(jù)單元格的值設(shè)置條件格式,以便更直觀地顯示數(shù)據(jù)。

import openpyxl
from openpyxl.styles import PatternFill

# 創(chuàng)建一個工作簿
workbook = openpyxl.Workbook()
sheet = workbook.active
sheet.title = 'Conditional Formatting'

# 寫入數(shù)據(jù)
data = [10, 20, 30, 40, 50]
for i, value in enumerate(data, start=1):
    sheet[f'A{i}'] = value

# 設(shè)置條件格式
fill = PatternFill(start_color='FF0000', end_color='FF0000', fill_type='solid')
for cell in sheet['A']:
    if cell.value > 30:
        cell.fill = fill  # 如果值大于30,填充為紅色

# 保存文件
workbook.save('conditional_formatting.xlsx')

插入圖片

可以將圖片插入到 Excel 文件中。

需要安裝Pillow

pip install Pillow
import openpyxl
from openpyxl.drawing.image import Image

# 創(chuàng)建一個工作簿
workbook = openpyxl.Workbook()
sheet = workbook.active
sheet.title = 'Image with Size'

# 插入圖片
img = Image('test.png')  # 替換為你的圖片路徑

# 設(shè)置圖片大小
img.width = 300  # 設(shè)置寬度為300
img.height = 200  # 設(shè)置高度為200

# 在指定單元格插入圖片
sheet.add_image(img, 'A1')  # 在 A1 單元格插入圖片

# 保存文件
workbook.save('image_example.xlsx')

自動調(diào)整列寬

可以根據(jù)內(nèi)容自動調(diào)整列寬。

import openpyxl

# 創(chuàng)建一個工作簿
workbook = openpyxl.Workbook()
sheet = workbook.active
sheet.title = 'Auto Fit Columns'

# 寫入數(shù)據(jù)
data = ['Short', 'A bit longer', 'The longest cell in this column']
for i, value in enumerate(data, start=1):
    sheet[f'A{i}'] = value

# 自動調(diào)整列寬
column_length = max(len(value) for value in data) + 2  # +2 為了留白
sheet.column_dimensions['A'].width = column_length

# 保存文件
workbook.save('auto_fit_columns.xlsx')

讀寫結(jié)合使用

可以結(jié)合使用xlrd和openpyxl,實現(xiàn)從一個 Excel 文件中讀取數(shù)據(jù),然后將其寫入另一個文件。

import openpyxl
import xlrd

# 讀取.xls 文件
workbook = xlrd.open_workbook('test.xls')
sheet = workbook.sheet_by_index(0)

# 創(chuàng)建一個新的.xlsx文件
new_workbook = openpyxl.Workbook()
new_sheet = new_workbook.active
new_sheet.title = 'Sheet1'

# 將讀取的數(shù)據(jù)寫入新的 .xlsx 文件
for row in range(sheet.nrows):
    for col in range(sheet.ncols):
        new_sheet.cell(row=row + 1, column=col + 1, value=sheet.cell_value(row, col))

# 保存新的文件
new_workbook.save('output.xlsx')

xlutils

xlutils是一個用于處理Excel文件的Python庫,主要用于與xlrd和xlwt庫配合使用。它的主要功能是提供對Excel文件的讀取和寫入操作,特別是在需要對現(xiàn)有的Excel文件進行修改時。

主要功能:

復(fù)制工作簿:可以將現(xiàn)有的Excel文件復(fù)制到新的工作簿中,以便進行修改。

讀取和寫入:結(jié)合xlrd和xlwt,xlutils可以實現(xiàn)對Excel文件的讀取和寫入操作。

數(shù)據(jù)處理:可以在讀取數(shù)據(jù)后對其進行處理,然后將結(jié)果寫回到Excel文件中。

注意事項:

xlutils 只支持 .xls 格式的文件,不支持 .xlsx 格式。如果你需要處理 .xlsx 文件,建議使用 openpyxl。

xlutils 依賴于 xlrd 和 xlwt,因此在使用之前需要確保這兩個庫已經(jīng)安裝。

安裝

要使用xlutils,需要確保已安裝xlrd和xlwt??梢允褂靡韵旅钸M行安裝:

pip install xlrd xlwt xlutils

寫入數(shù)據(jù)

import xlwt

# 創(chuàng)建一個工作簿
workbook = xlwt.Workbook()

# 添加一個工作表
sheet = workbook.add_sheet('Sheet1')

# 寫入數(shù)據(jù)
sheet.write(0, 0, 'A')  # 第一行第一列
sheet.write(0, 1, 'B')  # 第一行第二列
sheet.write(1, 0, 123)       # 第二行第一列
sheet.write(1, 1, 456)       # 第二行第二列

# 保存文件
workbook.save('test.xls')

使用xlutils

# 從 xlutils.copy 導(dǎo)入 copy 函數(shù),用于復(fù)制 Excel 工作簿
from xlutils.copy import copy
# 導(dǎo)入 xlrd 庫,用于讀取 Excel 文件
import xlrd
# 導(dǎo)入 xlwt 庫,用于寫入 Excel 文件
import xlwt

# 打開名為 'test.xls' 的 Excel 文件,并保留格式信息
tem_excel = xlrd.open_workbook('test.xls', formatting_info=True)
# 選擇 Excel 文件中的第一個工作表
tem_sheet = tem_excel.sheet_by_index(0)

# 復(fù)制打開的 Excel 工作簿,以便進行寫入操作
new_excel = copy(tem_excel)
# 獲取復(fù)制后的工作簿中的第一個工作表
new_sheet = new_excel.get_sheet(0)


# 創(chuàng)建一個新的樣式對象
style = xlwt.XFStyle()

# 創(chuàng)建字體對象并設(shè)置屬性
font = xlwt.Font()
font.name = '微軟雅黑'  # 設(shè)置字體為微軟雅黑
font.bold = True  # 設(shè)置字體為粗體
font.height = 100  # 設(shè)置字體高度
style.font = font  # 將字體應(yīng)用到樣式

# 創(chuàng)建邊框?qū)ο蟛⒃O(shè)置邊框樣式
borders = xlwt.Borders()
borders.top = xlwt.Borders.THIN  # 設(shè)置上邊框為細線
borders.bottom = xlwt.Borders.THIN  # 設(shè)置下邊框為細線
borders.left = xlwt.Borders.THIN  # 設(shè)置左邊框為細線
borders.right = xlwt.Borders.THIN  # 設(shè)置右邊框為細線
style.borders = borders  # 將邊框應(yīng)用到樣式

# 創(chuàng)建對齊對象并設(shè)置對齊方式
alignment = xlwt.Alignment()
alignment.horz = xlwt.Alignment.HORZ_CENTER  # 水平居中對齊
alignment.vert = xlwt.Alignment.VERT_CENTER  # 垂直居中對齊
style.alignment = alignment  # 將對齊方式應(yīng)用到樣式

# 在指定單元格寫入新數(shù)據(jù),并應(yīng)用樣式
new_sheet.write(1, 0, 'New Data', style)  # 在第二行第一列寫入 'New Data'

# 保存修改后的新 Excel 文件為 'output.xls'
new_excel.save('output.xls')

以上就是Python利用xlwt/openpyxl/xlutils實現(xiàn)寫入Excel數(shù)據(jù)的詳細內(nèi)容,更多關(guān)于Python寫入Excel數(shù)據(jù)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python提取內(nèi)容關(guān)鍵詞的方法

    python提取內(nèi)容關(guān)鍵詞的方法

    這篇文章主要介紹了python提取內(nèi)容關(guān)鍵詞的方法,適用于英文關(guān)鍵詞的提取,非常具有實用價值,需要的朋友可以參考下
    2015-03-03
  • 訊飛webapi語音識別接口調(diào)用示例代碼(python)

    訊飛webapi語音識別接口調(diào)用示例代碼(python)

    這篇文章主要介紹了如何使用Python3調(diào)用訊飛WebAPI語音識別接口,重點解決了在處理語音識別結(jié)果時判斷是否為最后一幀的問題,通過運行代碼并總結(jié)經(jīng)驗,解決了常見的模塊和屬性錯誤,需要的朋友可以參考下
    2025-03-03
  • python 實現(xiàn)Flask中返回圖片流給前端展示

    python 實現(xiàn)Flask中返回圖片流給前端展示

    今天小編就為大家分享一篇python 實現(xiàn)Flask中返回圖片流給前端展示,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python中的可視化設(shè)計與UI界面實現(xiàn)

    Python中的可視化設(shè)計與UI界面實現(xiàn)

    本文介紹了如何使用Python創(chuàng)建用戶界面(UI),包括使用Tkinter、PyQt、Kivy等庫進行基本窗口、動態(tài)圖表和動畫效果的實現(xiàn),通過示例代碼,展示了如何利用這些庫來構(gòu)建功能強大且美觀的界面
    2025-01-01
  • python驗證公網(wǎng)ip與內(nèi)網(wǎng)ip的實現(xiàn)示例

    python驗證公網(wǎng)ip與內(nèi)網(wǎng)ip的實現(xiàn)示例

    本文主要介紹了python驗證公網(wǎng)ip與內(nèi)網(wǎng)ip的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 詳解Python安裝scrapy的正確姿勢

    詳解Python安裝scrapy的正確姿勢

    Scrapy是一個為了爬取網(wǎng)站數(shù)據(jù)提取結(jié)構(gòu)性數(shù)據(jù)而編寫的應(yīng)用框架。這篇文章主要介紹了Python安裝scrapy的正確姿勢,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06
  • python繪制帶有色塊的折線圖

    python繪制帶有色塊的折線圖

    這篇文章主要為大家詳細介紹了python繪制帶有色塊的折線圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Python3中正則模塊re.compile、re.match及re.search函數(shù)用法詳解

    Python3中正則模塊re.compile、re.match及re.search函數(shù)用法詳解

    這篇文章主要介紹了Python3中正則模塊re.compile、re.match及re.search函數(shù)用法,結(jié)合實例形式較為詳細的分析了re模塊 中re.compile、re.match及re.search函數(shù)的功能、參數(shù)、具體使用技巧與注意事項,需要的朋友可以參考下
    2018-06-06
  • Python?catplot函數(shù)自定義顏色的方法

    Python?catplot函數(shù)自定義顏色的方法

    catplot() 函數(shù)是 Seaborn 中一個非常有用的函數(shù),它可以繪制分類變量的圖形,并可以根據(jù)另一個或多個變量進行分組,這篇文章主要介紹了Python?catplot函數(shù)自定義顏色的方法,需要的朋友可以參考下
    2023-03-03
  • Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加簽驗簽

    Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加簽驗簽

    這篇文章主要介紹了Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加簽驗簽,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2019-12-12

最新評論