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

Python數(shù)據(jù)處理-導(dǎo)入導(dǎo)出excel數(shù)據(jù)

 更新時間:2022年01月26日 11:24:58   作者:python2021_??  
這篇文章主要介紹了Python數(shù)據(jù)處理-導(dǎo)入導(dǎo)出excel數(shù)據(jù),Python的一大應(yīng)用就是數(shù)據(jù)分析了,而數(shù)據(jù)分析中,經(jīng)常碰到需要處理Excel數(shù)據(jù)的情況。這里做一個Python處理Excel數(shù)據(jù)的總結(jié),需要的小伙伴可以參考一下

前言:

Python的一大應(yīng)用就是數(shù)據(jù)分析了,而數(shù)據(jù)分析中,經(jīng)常碰到需要處理Excel數(shù)據(jù)的情況。這里做一個Python處理Excel數(shù)據(jù)的總結(jié),基本受用大部分情況。相信以后用Python處理Excel數(shù)據(jù)不再是難事兒!

一.xlwt庫將數(shù)據(jù)導(dǎo)入Excel

1.將數(shù)據(jù)寫入一個Excel文件

wb = xlwt.Workbook()
# 添加一個表
ws = wb.add_sheet('test')
?
?
# 3個參數(shù)分別為行號,列號,和內(nèi)容
# 需要注意的是行號和列號都是從0開始的
ws.write(0, 0, '第1列')
ws.write(0, 1, '第2列')
ws.write(0, 2, '第3列')
?
# 保存excel文件
wb.save('./test.xls')

可以看到,用xlwt庫操作非常簡單,基本就三步走:

  • 打開一個Workbook對象,并用add_sheet方法添加一個表
  • 然后就是用write方法寫入數(shù)據(jù)
  • 最后用save方法保存

需要注意的是:xlwt庫里面所定義的行和列都是從0開始計數(shù)的

2.定制Excel表格樣式

表格樣式一般主要有這么幾塊內(nèi)容:字體、對齊方式、邊框、背景色、寬度以及特殊內(nèi)容,比如超鏈接、日期時間等。下面我們來分別看看用xlwt庫怎么定制這些樣式。

字體

xlwt庫支持的字體屬性也比較多,大概如下:

設(shè)置字體需要用到xlwt庫的XFStyle類和Font類,代碼模版如下:

style = xlwt.XFStyle()
?
# 設(shè)置字體
font = xlwt.Font()
# 比如設(shè)置字體加粗和下劃線
font.bold = True
font.underline = True
style.font = font
?
# 然后應(yīng)用
ws.write(2, 1, 'test', style)

后續(xù)幾個屬性的設(shè)置都是類似的,都是4步走:

  • 拿到XFStyle
  • 拿到對應(yīng)需要的屬性,比如這里的Font對象
  • 設(shè)置具體的屬性值
  • 最后就是在write方法寫入數(shù)據(jù)的時候應(yīng)用就行

3.元格對齊

先來看單元格對齊怎么設(shè)置:

# 單元格對齊
alignment = xlwt.Alignment()
?
# 水平對齊方式和垂直對齊方式
alignment.horz = xlwt.Alignment.HORZ_CENTER
alignment.vert = xlwt.Alignment.VERT_CENTER
# 自動換行
alignment.wrap = 1
style.alignment = alignment
?
# 然后應(yīng)用
ws.write(2, 1, 'test', style)

上面這個自動換行的屬性還是蠻有用的,因為我們很多時候數(shù)據(jù)會比較長,最好再加上單元格的寬度屬性一起使用,這樣整體樣式會好很多

單元格寬度設(shè)置:

# 設(shè)置單元格寬度,也就是某一列的寬度
ws.col(0).width = 6666

4.單元格的背景色

背景色對應(yīng)的屬性是 Pattern

# 背景色
pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
?
# 背景色為黃色
# 0 = Black, 1 = White, 2 = Red, 3 = Green, 4 = Blue, 5 = Yellow, 6 = Magenta,
# 7 = Cyan, 16 = Maroon, 17 = Dark Green, 18 = Dark Blue, 19 = Dark Yellow ,
# almost brown), 20 = Dark Magenta, 21 = Teal, 22 = Light Gray, 23 = Dark Gray
# ...
pattern.pattern_fore_colour = 5
style.pattern = pattern
?
# 然后應(yīng)用
ws.write(2, 1, 'test', style)

5.單元格邊框

邊框?qū)傩允?code>Borders

單元格邊框就2類:顏色和邊框線樣式

可以分別設(shè)置上下左右邊框的顏色和樣式:

# 邊框
borders = xlwt.Borders()
?
# 邊框可以分別設(shè)置top、bottom、left、right
# 每個邊框又可以分別設(shè)置顏色和線樣式:實線、虛線、無
# 顏色設(shè)置,其他類似
borders.left_colour = 0x40
# 設(shè)置虛線,其他類似
borders.bottom = xlwt.Borders.DASHED
style.borders = borders
?
# 然后應(yīng)用
ws.write(2, 1, 'test', style)

特殊內(nèi)容,比如超鏈接和公式

特殊內(nèi)容一般主要會碰到這幾類:超鏈接、公式和時間日期

處理這些特殊內(nèi)容需要用到Formula

# 超鏈接
link = 'HYPERLINK("http://www.baidu.com";"Baidu")'
formula = xlwt.Formula(link)
ws.write(2, 0, formula)
?
# 公式也是類似
ws.write(1, 1, xlwt.Formula('SUM(A1,B1)'))
?
# 時間
style.num_format_str = 'M/D/YY'
ws.write(2, 1, datetime.datetime.now(), style)

以上就是用Python將數(shù)據(jù)寫入到Excel的全部內(nèi)容了,下面我們再來看看怎么讀取Excel中的數(shù)據(jù)做處理。

二、xlrd庫讀取Excel中的數(shù)據(jù)

1.讀取Excel文件

同樣的用xlrd庫讀取Excel的數(shù)據(jù)也是輕輕松松,先來看下實現(xiàn)代碼:

# 先打開一個文件
wb = xlrd.open_workbook(file_path)
# 獲取第一個表
sheet1 = wb.sheet_by_index(0)
?
# 總行數(shù)
nrows = sheet1.nrows
# 總列數(shù)
ncols = sheet1.ncols
?
# 后面就通過循環(huán)即可遍歷數(shù)據(jù)了
# 取數(shù)據(jù)
for i in range(nrows):
? ? for j in range(ncols):
? ? ? ? # cell_value方法取出第i行j列的數(shù)據(jù)
? ? ? ? value = sheet1.cell_value(i, j)
? ? ? ? print(value)

總結(jié)一下,分為一下幾步:

首先通過xlrd庫的open_workbook方法打開Excel文件
然后通過sheet_by_index方法獲取表
然后分別獲取表的行數(shù)和列數(shù),便于后面循環(huán)遍歷
根據(jù)列數(shù)和行數(shù),循環(huán)遍歷,通過cell_value方法獲取每個單元格中的數(shù)據(jù)

2.工作表的相關(guān)操作

獲取一個工作表,有多種方式:

# 通過索引
sheet1 = wb.sheets()[0]
sheet1 = wb.sheet_by_index(0)
?
# 通過名字
sheet1 = wb.sheet_by_name('test')
?
# 獲取所有表名
# sheet_names = wb.sheet_names()

獲取某一行或某一列的所有數(shù)據(jù):

# 獲取行中所有數(shù)據(jù),返回結(jié)果是一個列表
tabs = sheet1.row_values(rowx=0, start_colx=0, end_colx=None)
# 返回一行一共有多少數(shù)據(jù)
len_value = sheet1.row_len(rowx=0)

row_values的三個參數(shù)分別是:行號、開始的列和結(jié)束的列,其中結(jié)束的列為None表示獲取從開始列到最后的所有數(shù)據(jù)

類似的還有獲取某一列的數(shù)據(jù):

cols = sheet1.col_values(colx=0, start_rowx=0, end_rowx=None)

3.處理時間數(shù)據(jù)

時間數(shù)據(jù)比較特殊,沒發(fā)直接通過上面的cell_value方法獲取。需要先轉(zhuǎn)換為時間戳,然后再格式化成我們想要的格式。

比如要獲取Excel表格中,格式為2019/8/13 20:46:35的時間數(shù)據(jù)

# 獲取時間
time_value = sheet1.cell_value(3, 0)
?
# 獲取時間戳
time_stamp = int(xlrd.xldate.xldate_as_datetime(time_value, 0).timestamp())
print(time_stamp)
?
# 格式化日期
time_rel = time.strftime("%Y/%m/%d", time.localtime(time_stamp))
print(time_rel)

基本也是三步走:

  • 通過cell_value方法獲取時間值
  • 然后通過xldate_as_datetime方法獲取時間戳
  • 然后格式化一下

Excel文件是用Python處理數(shù)據(jù)時常會碰到的一類場景,有了xlwt 和 xlrd的幫助可以非??焖俚膶?dǎo)入和導(dǎo)出Excel數(shù)據(jù)。

到此這篇關(guān)于Python數(shù)據(jù)處理-導(dǎo)入導(dǎo)出excel數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Python 導(dǎo)入導(dǎo)出excel數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python如何通過實例方法名字調(diào)用方法

    python如何通過實例方法名字調(diào)用方法

    這篇文章主要為大家詳細介紹了python如何通過實例方法名字調(diào)用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Python httplib模塊使用實例

    Python httplib模塊使用實例

    這篇文章主要介紹了Python httplib模塊使用實例,httplib模塊是一個底層基礎(chǔ)模塊,本文講解了httplib模塊的常用方法及使用實例,需要的朋友可以參考下
    2015-04-04
  • Tensor 和 NumPy 相互轉(zhuǎn)換的實現(xiàn)

    Tensor 和 NumPy 相互轉(zhuǎn)換的實現(xiàn)

    本文主要介紹了Tensor 和 NumPy 相互轉(zhuǎn)換的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python中map函數(shù)的技巧分享

    Python中map函數(shù)的技巧分享

    在Python中,map()是一個內(nèi)置函數(shù),這篇文章將從基礎(chǔ)的使用方法到高級的技巧,全面介紹Python中map()方法的使用,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-07-07
  • 使用Python的判斷語句模擬三目運算

    使用Python的判斷語句模擬三目運算

    這篇文章主要介紹了使用Python的判斷語句模擬三目運算,Python中沒有類似C語言那樣的三目運算符,不過可以進行簡單地模擬實現(xiàn),需要的朋友可以參考下
    2015-04-04
  • python tqdm用法及實例詳解

    python tqdm用法及實例詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于python tqdm用法及實例詳解內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。
    2021-06-06
  • python3中@dataclass的實現(xiàn)示例

    python3中@dataclass的實現(xiàn)示例

    @dataclass?是 Python 3.7 引入的一個裝飾器,用于方便地定義符合數(shù)據(jù)類協(xié)議的類,本文主要介紹了python3中@dataclass的實現(xiàn)示例,感興趣的可以了解一下
    2024-02-02
  • jupyter notebook 增加kernel教程

    jupyter notebook 增加kernel教程

    這篇文章主要介紹了jupyter notebook 增加kernel教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • 七牛云的python sdk 批量刪除資源的操作方法

    七牛云的python sdk 批量刪除資源的操作方法

    今天做項目的時候用到七牛云,關(guān)于對資源的操作是在后端做的,用的SDK,這篇文章主要介紹了七牛云的python sdk 是如何 批量刪除資源的,需要的朋友可以參考下
    2021-10-10
  • Python爬蟲實例爬取網(wǎng)站搞笑段子

    Python爬蟲實例爬取網(wǎng)站搞笑段子

    這篇文章主要介紹了Python爬蟲實例爬取網(wǎng)站搞笑段子,具有一定參考價值,看完了代碼不妨看看段子,希望大家每天開心。
    2017-11-11

最新評論