亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python進(jìn)階之Excel基本操作介紹

 更新時(shí)間:2025年01月24日 10:46:59   作者:一名技術(shù)極客  
在現(xiàn)實(shí)中,很多工作都需要與數(shù)據(jù)打交道,Excel 作為常用的數(shù)據(jù)處理工具,一直備受人們的青睞,本文主要為大家介紹了一些Python中Excel的基本操作,希望對(duì)大家有所幫助

概述

在現(xiàn)實(shí)中,很多工作都需要與數(shù)據(jù)打交道,Excel 作為常用的數(shù)據(jù)處理工具,一直備受人們的青睞,而大部分人都是手動(dòng)操作 Excel,如果數(shù)據(jù)量較小且是一些簡(jiǎn)單的操作還好說,但如果數(shù)據(jù)量較大或是一些復(fù)雜的操作,工作量可想而知,因此,我們需要掌握一種簡(jiǎn)單、高效的方法來(lái)操作 Excel。

在數(shù)據(jù)處理方面,Python 一直扮演著重要的角色,對(duì)于 Excel 操作,它有著完整且成熟的第三方庫(kù),使用也較為簡(jiǎn)單。

Python 中常用 Excel 操作庫(kù)如下:

  • xlrd: 從 Excel 中讀取數(shù)據(jù),支持 xls、xlsx。
  • xlwt: 向 Excel 中寫入數(shù)據(jù),支持 xls。
  • xlutils: 提供了一些 Excel 的實(shí)用操作,比如復(fù)制、拆分、過濾等,通常與 xlrd、xlwt 一起使用。
  • XlsxWriter: 向 Excel 中寫入數(shù)據(jù),支持 xlsx。
  • openpyxl : 用于讀寫 Excel,支持 xlsx。

寫入

我們向Excel 中寫入一些數(shù)據(jù)。

使用 xlwt

通過pip install xlwt 命令安裝。

import xlwt

# 創(chuàng)建工作簿
wb = xlwt.Workbook()
# 創(chuàng)建表單
sh = wb.add_sheet('test')
# 創(chuàng)建字體對(duì)象
font = xlwt.Font()
# 字體加粗
font.bold = True
alm = xlwt.Alignment()
# 設(shè)置左對(duì)齊
alm.horz = 0x01
# 創(chuàng)建樣式對(duì)象
style1 = xlwt.XFStyle()
style2 = xlwt.XFStyle()
style1.font = font
style2.alignment = alm
# write 方法參數(shù)1:行,參數(shù)2:列,參數(shù)3:內(nèi)容
sh.write(0, 1, '姓名', style1)
sh.write(0, 2, '年齡', style1)
sh.write(1, 1, '張三')
sh.write(1, 2, 50, style2)
sh.write(2, 1, '李四')
sh.write(2, 2, 30, style2)
sh.write(3, 1, '王五')
sh.write(3, 2, 40, style2)
sh.write(4, 1, '趙六')
sh.write(4, 2, 60, style2)
sh.write(5, 0, '平均年齡', style1)
# 保存
wb.save('test.xls')

執(zhí)行結(jié)果:

使用 XlsxWriter

通過pip install XlsxWriter 命令安裝。

import xlsxwriter

???????# 創(chuàng)建工作簿
workbook = xlsxwriter.Workbook('test.xlsx')
# 創(chuàng)建表單
sh = workbook.add_worksheet('test')
fmt1 = workbook.add_format()
fmt2 = workbook.add_format()
# 字體加粗
fmt1.set_bold(True)
# 設(shè)置左對(duì)齊
fmt2.set_align('left')
# 數(shù)據(jù)
data = [
    ['', '姓名', '年齡'],
    ['', '張三', 50],
    ['', '李四', 30],
    ['', '王五', 40],
    ['', '趙六', 60],
    ['平均年齡', '', ]
]
sh.write_row('A1', data[0], fmt1)
sh.write_row('A2', data[1], fmt2)
sh.write_row('A3', data[2], fmt2)
sh.write_row('A4', data[3], fmt2)
sh.write_row('A5', data[4], fmt2)
sh.write_row('A6', data[5], fmt1)
chart = workbook.add_chart({
   
     'type': 'line'})
workbook.close()

XlsxWriter 可以很方便的生成圖表。

import xlsxwriter

???????# 創(chuàng)建工作簿
wk = xlsxwriter.Workbook('test.xlsx')
# 創(chuàng)建表單
sh = wk.add_worksheet('test')
fmt1 = wk.add_format()
fmt2 = wk.add_format()
# 字體加粗
fmt1.set_bold(True)
# 設(shè)置左對(duì)齊
fmt2.set_align('left')
# 數(shù)據(jù)
data = [
    ['', '姓名', '年齡'],
    ['', '張三', 50],
    ['', '李四', 30],
    ['', '王五', 40],
    ['', '趙六', 60],
    ['平均年齡', '', ]
]
sh.write_row('A1', data[0], fmt1)
sh.write_row('A2', data[1], fmt2)
sh.write_row('A3', data[2], fmt2)
sh.write_row('A4', data[3], fmt2)
sh.write_row('A5', data[4], fmt2)
sh.write_row('A6', data[5], fmt1)
'''
area:面積圖
bar:直方圖
column:柱狀圖
line:折線圖
pie:餅圖
doughnut:環(huán)形圖
radar:雷達(dá)圖
'''
chart = wk.add_chart({
   
     'type': 'line'})
# 創(chuàng)建圖表
chart.add_series(
    {
   
     
        'name':'=test!$B$1',
        'categories':'=test!$B$2:$B$5',
        'values':   '=test!$C$2:$C$5'
    }
)
chart.set_title({
   
     'name':'用戶年齡折線圖'})
chart.set_x_axis({
   
     'name':'姓名'})
chart.set_y_axis({
   
     'name':'年齡'})
sh.insert_chart('A9', chart)
wk.close()

讀取

我們使用 xlrd 讀取之前寫入的數(shù)據(jù),使用 pip install xlrd 命令安裝。

import xlrd

# 打開
wb = xlrd.open_workbook('test.xlsx')
print( 'sheet名稱:', wb.sheet_names())
print( 'sheet數(shù)量:', wb.nsheets)
# 根據(jù) sheet 索引獲取 sheet
sh = wb.sheet_by_index(0)
# 根據(jù) sheet 名稱獲取 sheet
# sh = wb.sheet_by_name('test')
print( u'sheet %s 有 %d 行' % (sh.name, sh.nrows))
print( u'sheet %s 有 %d 列' % (sh.name, sh.ncols))
print('第二行內(nèi)容:', sh.row_values(1))
print('第三列內(nèi)容:', sh.col_values(2))
print('第二行第三列的值為:', sh.cell_value(1, 2))
print('第二行第三列值的類型為:', type(sh.cell_value(1, 2)))

修改

之前寫入的數(shù)據(jù)還有一個(gè)平均年齡是空著的,我們先讀取之前寫入的數(shù)據(jù),再計(jì)算出平均值,最后將平均值寫入。這里要用到 xlutils 模塊,使用 pip install xlutils 安裝。

import xlrd, xlwt
from xlutils.copy import copy

def avg(list):
    sumv = 0
    for i in range(len(list)):
        sumv += list[i]
    return int(sumv / len(list))
# formatting_info 為 True 表示保留原格式
wb = xlrd.open_workbook('test.xls', formatting_info=True)
# 復(fù)制
wbc = copy(wb)
sh = wb.sheet_by_index(0)
age_list = sh.col_values(2)
age_list = age_list[1:len(age_list)-1]
avg_age = avg(age_list)
sh = wbc.get_sheet(0)
# 設(shè)置左對(duì)齊
alm = xlwt.Alignment()
alm.horz = 0x01
style = xlwt.XFStyle()
style.alignment = alm
sh.write(5, 2, avg_age, style)
wbc.save('test.xls')

以上就是Python進(jìn)階之Excel基本操作介紹的詳細(xì)內(nèi)容,更多關(guān)于Python Excel基本操作的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 在Django中使用ElasticSearch

    在Django中使用ElasticSearch

    這篇文章主要介紹了在Django中使用ElasticSearch,Elasticsearch是基于Lucene庫(kù)的搜索引擎。它提供了具有HTTP?Web界面和無(wú)模式JSON文檔的分布式,多租戶功能的全文本搜索引擎,下面詳細(xì)內(nèi)容,需要的朋友可以參考一下
    2022-01-01
  • python正則表達(dá)式之對(duì)號(hào)入座篇

    python正則表達(dá)式之對(duì)號(hào)入座篇

    正則表達(dá)式是對(duì)字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個(gè)“規(guī)則字符串”,這個(gè)“規(guī)則字符串”用來(lái)表達(dá)對(duì)字符串的一種過濾邏輯
    2018-07-07
  • conda虛擬環(huán)境中查看包的位置的四種方法

    conda虛擬環(huán)境中查看包的位置的四種方法

    本文主要介紹了conda虛擬環(huán)境中查看包的位置的四種方法,包括使用Conda命令、在Python中查看、使用pip命令以及檢查環(huán)境目錄結(jié)構(gòu),具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-03-03
  • pycharm配置anaconda環(huán)境時(shí)找不到python.exe解決辦法

    pycharm配置anaconda環(huán)境時(shí)找不到python.exe解決辦法

    今天來(lái)說一下python中一個(gè)管理包很好用的工具anaconda,可以輕松實(shí)現(xiàn)python中各種包的管理,這篇文章主要給大家介紹了關(guān)于pycharm配置anaconda環(huán)境時(shí)找不到python.exe的解決辦法,需要的朋友可以參考下
    2023-10-10
  • Django集成Redis數(shù)據(jù)庫(kù)的操作指南

    Django集成Redis數(shù)據(jù)庫(kù)的操作指南

    本文將詳細(xì)介紹如何在 Django 項(xiàng)目中集成 Redis 數(shù)據(jù)庫(kù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • Python 發(fā)送郵件方法總結(jié)

    Python 發(fā)送郵件方法總結(jié)

    這篇文章主要介紹了Python 發(fā)送郵件的幾種方法,幫助大家更好的理解和學(xué)習(xí)Python,感興趣的朋友可以了解下
    2020-08-08
  • Python實(shí)現(xiàn)剪刀石頭布小游戲(與電腦對(duì)戰(zhàn))

    Python實(shí)現(xiàn)剪刀石頭布小游戲(與電腦對(duì)戰(zhàn))

    這篇文章給大家分享Python基礎(chǔ)實(shí)現(xiàn)與電腦對(duì)戰(zhàn)的剪刀石頭布小游戲,練習(xí)if while輸入和輸出,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2019-12-12
  • python內(nèi)存管理機(jī)制原理詳解

    python內(nèi)存管理機(jī)制原理詳解

    這篇文章主要介紹了python內(nèi)存管理機(jī)制原理詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python?中給請(qǐng)求設(shè)置用戶代理?User-Agent的方法

    Python?中給請(qǐng)求設(shè)置用戶代理?User-Agent的方法

    本文介紹?HTTP?標(biāo)頭用戶代理主題以及如何使用?Python?中的請(qǐng)求設(shè)置用戶代理,您將了解?HTTP?標(biāo)頭及其在理解用戶代理、獲取用戶代理以及學(xué)習(xí)使用?Python?中的請(qǐng)求設(shè)置用戶代理的多種方法方面的重要性,感興趣的朋友跟隨小編一起看看吧
    2023-06-06
  • 一文帶你了解python中的多態(tài)性

    一文帶你了解python中的多態(tài)性

    多態(tài)性是 OOP 的一個(gè)特征,這意味著一個(gè)名稱可以具有不同的功能, 這篇文章主要為大家詳細(xì)介紹了如何在 Python 中實(shí)現(xiàn)多態(tài)性,感興趣的小伙伴可以學(xué)習(xí)一下
    2023-11-11

最新評(píng)論