最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Python對xsl&xslx文件進行操作

 更新時間:2024年12月15日 08:47:41   作者:樂茵安全  
這篇文章主要為大家詳細介紹了如何使用Python對xsl&xslx文件進行一些基本操作,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下

讀取xsl格式文件-源碼

import xlrd
 
# 讀取xls文件中的工作對象
wb = xlrd.open_workbook('示例文件/xxx物理學與信息技術(shù)學院.xls')
print(wb)
 
# 獲取所有的工作表名稱
sheet_names = wb.sheet_names()
# print(sheet_names)
 
# 選擇要讀取的具體工作表對象
sheet = wb.sheet_by_name(sheet_names[0])
# print(sheet)
 
# 查看工作表的行和列數(shù)
# print(sheet.nrows,sheet.ncols)  # 329 6
 
# 通過循環(huán)的方式獲取工作表中每行和每列的數(shù)據(jù)
for row in range(sheet.nrows):
    for col in range(sheet.ncols):
        # print(row,col)
        # 通過cell對象中的value屬性獲取具體單元格式中的數(shù)據(jù)
        value = sheet.cell(row, col).value
        # print(value)
'''
        # 將第一行以外的數(shù)據(jù)進行格式化處理
        if row > 0:
            # 將第一列的數(shù)據(jù)轉(zhuǎn)化為年月日的格式
            if col == 0:
                value = xlrd.xldate_as_tuple(value,0)
                # print(value)
                # :>2d 表示月份和日期保留兩位數(shù)
                value = f'{value[0]}年{value[1]:>02d}月{value[2]:>02d}日'
                # print(value)
            else:
                # 將除了第一列的數(shù)據(jù)之外的數(shù)據(jù)保留兩位小數(shù)
                value = f'{value:.2f}'
            print(value,end='\t')
        print()  # 實現(xiàn)換行的效果
'''

讀取xsl格式文件-源碼解析

這段代碼使用 xlrd 庫來讀取和處理一個名為 xxx物理學與信息技術(shù)學院.xls 的 Excel 文件。以下是對代碼的詳細分析:

1. 導入庫

import xlrd

xlrd 是一個用于讀取 Excel 文件的 Python 庫。

2. 打開工作簿

wb = xlrd.open_workbook('示例文件/xxx物理學與信息技術(shù)學院.xls')
print(wb)

xlrd.open_workbook 函數(shù)用于打開一個 Excel 文件,并返回一個工作簿對象 wb。

print(wb) 打印工作簿對象,通常會顯示文件路徑和一些元數(shù)據(jù)。

3. 獲取所有的工作表名稱

sheet_names = wb.sheet_names()
# print(sheet_names)

wb.sheet_names() 返回一個包含所有工作表名稱的列表。

4. 選擇要讀取的具體工作表對象

sheet = wb.sheet_by_name(sheet_names[0])
# print(sheet)

wb.sheet_by_name(sheet_names[0]) 根據(jù)工作表名稱獲取第一個工作表對象 sheet。

5. 查看工作表的行和列數(shù)

# print(sheet.nrows, sheet.ncols)  # 329 6

sheet.nrows 返回工作表的行數(shù)。

sheet.ncols 返回工作表的列數(shù)。

6. 通過循環(huán)的方式獲取工作表中每行和每列的數(shù)據(jù)

for row in range(sheet.nrows):
    for col in range(sheet.ncols):
        value = sheet.cell(row, col).value
        # 將第一行以外的數(shù)據(jù)進行格式化處理
        if row > 0:
            # 將第一列的數(shù)據(jù)轉(zhuǎn)化為年月日的格式
            if col == 0:
                value = xlrd.xldate_as_tuple(value, 0)
                value = f'{value[0]}年{value[1]:>02d}月{value[2]:>02d}日'
            else:
                # 將除了第一列的數(shù)據(jù)之外的數(shù)據(jù)保留兩位小數(shù)
                value = f'{value:.2f}'
            print(value, end='\t')
        print()  # 實現(xiàn)換行的效果

外層循環(huán) for row in range(sheet.nrows) 遍歷每一行。

內(nèi)層循環(huán) for col in range(sheet.ncols) 遍歷每一列。

sheet.cell(row, col).value 獲取指定單元格的值。

如果當前行不是第一行(即 row > 0),則對數(shù)據(jù)進行格式化處理:

  • 如果當前列是第一列(即 col == 0),則將日期格式化為 年月日 的形式。
  • 否則,將數(shù)值保留兩位小數(shù)。

print(value, end='\t') 打印格式化后的值,并使用制表符 \t 分隔。

print() 打印一個空行,實現(xiàn)換行的效果。

小結(jié)

這段代碼的主要功能是讀取一個 Excel 文件,并對其中的數(shù)據(jù)進行格式化處理:

將第一列的日期格式化為 年月日 的形式。

將其他數(shù)值保留兩位小數(shù)。

使用制表符分隔每列的數(shù)據(jù),并在每行結(jié)束后換行。

通過這種方式,代碼能夠有效地處理和展示 Excel 文件中的數(shù)據(jù)。

向xsl文件寫入數(shù)據(jù)-源碼

import xlwt
import random
 
# 創(chuàng)建工作薄對象
wb = xlwt.Workbook()
 
# 創(chuàng)建工作表對象
sheet = wb.add_sheet('高一三班')
 
# 定義學生姓名
students = ['張三','李四','王五','里爾','飛天','閏土']
 
# 通過列表生成式生成 語數(shù)英成績
scores = [[random.randrange(50,151) for i in range(3)] for j in range(6)]
# print(scores)
 
# 創(chuàng)建表頭數(shù)據(jù)
titles = ['姓名','語文','數(shù)學','英語']
 
for index,title in enumerate(titles):
    # print(index,title)
    # 將數(shù)據(jù)添加到sheet工作表中
    # 第一個參數(shù)表示工作行 第二個參數(shù)表示列 第三個參數(shù)表示具體內(nèi)容
    sheet.write(0,index,title)
 
# 將學生的姓名成績依次寫入到文件中
for row in range(len(scores)):
    # print(row)
    sheet.write(row+1,0,students[row])  # 從第二行開始寫入相關(guān)的數(shù)據(jù)
    for col in range(len(scores[row])):
        sheet.write(row+1,col+1,scores[row][col])
# 將數(shù)據(jù)寫入到工作薄當中
wb.save('示例文件/考試成績.xls')

向xsl文件寫入數(shù)據(jù)-源碼解析

這段代碼使用了 xlwt 庫來創(chuàng)建一個 Excel 文件,并在其中寫入學生的姓名和隨機生成的語文、數(shù)學、英語成績。以下是對代碼的詳細分析:

1. 導入庫

import xlwt
import random

xlwt 是一個用于創(chuàng)建和寫入 Excel 文件的 Python 庫。

random 庫用于生成隨機數(shù)。

2. 創(chuàng)建工作簿對象

wb = xlwt.Workbook()

xlwt.Workbook() 創(chuàng)建一個新的工作簿對象 wb。

3. 創(chuàng)建工作表對象

sheet = wb.add_sheet('高一三班')

wb.add_sheet('高一三班') 在工作簿中添加一個名為 '高一三班' 的工作表,并返回該工作表對象 sheet。

4. 定義學生姓名

students = ['張三', '李四', '王五', '里爾', '飛天', '閏土']

students 列表包含了六個學生的姓名。

5. 生成成績數(shù)據(jù)

scores = [[random.randrange(50, 151) for i in range(3)] for j in range(6)]

使用列表生成式生成一個包含 6 個學生的語文、數(shù)學、英語成績的二維列表 scores。

random.randrange(50, 151) 生成一個 50 到 150 之間的隨機整數(shù)。

6. 創(chuàng)建表頭數(shù)據(jù)

titles = ['姓名', '語文', '數(shù)學', '英語']

titles 列表包含了表頭信息。

7. 寫入表頭數(shù)據(jù)

for index, title in enumerate(titles):
    sheet.write(0, index, title)

使用 enumerate(titles) 遍歷 titles 列表,同時獲取索引 index 和標題 title。

sheet.write(0, index, title) 將表頭數(shù)據(jù)寫入工作表的第一行。

8. 寫入學生姓名和成績

for row in range(len(scores)):
    sheet.write(row + 1, 0, students[row])  # 從第二行開始寫入相關(guān)的數(shù)據(jù)
    for col in range(len(scores[row])):
        sheet.write(row + 1, col + 1, scores[row][col])

外層循環(huán)遍歷 scores 列表的每一行。

sheet.write(row + 1, 0, students[row]) 將學生姓名寫入工作表的第二行及之后的每一行的第一列。

內(nèi)層循環(huán)遍歷 scores[row] 列表的每一個元素。

sheet.write(row + 1, col + 1, scores[row][col]) 將成績寫入工作表的第二行及之后的每一行的相應列。

9. 保存工作簿

wb.save('示例文件/考試成績.xls')

wb.save('示例文件/考試成績.xls') 將工作簿保存為名為 '考試成績.xls' 的文件。

小結(jié)

這段代碼的主要功能是創(chuàng)建一個 Excel 文件,并在其中寫入學生的姓名和隨機生成的語文、數(shù)學、英語成績。通過使用 xlwt 庫,代碼能夠方便地創(chuàng)建和操作 Excel 文件,實現(xiàn)對數(shù)據(jù)的存儲和管理。

讀取xslx格式文件-源碼

import openpyxl
 
# 加載工作薄
wb = openpyxl.load_workbook(r'示例文件\xx碩士信息.xlsx')
 
# 獲取工作表名稱
print(wb.sheetnames)  # ['Sheet1', 'Sheet2', 'Sheet3']
 
# 獲取要操作的工作表
sheet = wb.worksheets[0]
 
# 獲取工作表中單元格的范圍
# print(sheet.dimensions)  # A1:E64814
 
# 獲取行數(shù)和列數(shù)
# print(sheet.max_row,sheet.max_column)  # 64814 5
 
# 獲取指定單元格的值
# print(sheet.cell(3,3).value)
 
# 獲取多個單元格的值
# print(sheet['A2:C5'])
 
# 獲取單元格中所有的數(shù)據(jù)
for row in range(2,69):
    for col in "ABCDE":
        value = sheet[f"{col}{row}"].value
        print(value,end='\t')
    print()  # 換行

讀取xslx格式文件-源碼解析

這段代碼使用了 openpyxl 庫來加載和操作一個名為 xx碩士信息.xlsx 的 Excel 文件。以下是對代碼的詳細分析:

1. 導入庫

import openpyxl

openpyxl 是一個用于讀取和寫入 Excel 文件的 Python 庫。

2. 加載工作簿

wb = openpyxl.load_workbook(r'示例文件\清華碩士信息.xlsx')

openpyxl.load_workbook(r'示例文件\xx碩士信息.xlsx') 加載指定的 Excel 文件,并返回一個工作簿對象 wb。

3. 獲取工作表名稱

print(wb.sheetnames)  # ['Sheet1', 'Sheet2', 'Sheet3']

wb.sheetnames 返回一個包含所有工作表名稱的列表。

4. 獲取要操作的工作表

sheet = wb.worksheets[0]

wb.worksheets[0] 獲取工作簿中的第一個工作表對象 sheet。

5. 獲取工作表中單元格的范圍

print(sheet.dimensions)  # A1:E64814

sheet.dimensions 返回工作表中單元格的范圍,例如 A1:E64814。

6. 獲取行數(shù)和列數(shù)

print(sheet.max_row,sheet.max_column)  # 64814 5

sheet.max_row 返回工作表中的最大行數(shù)。

sheet.max_column 返回工作表中的最大列數(shù)。

7. 獲取指定單元格的值

print(sheet.cell(3,3).value)

sheet.cell(3,3).value 獲取第 3 行第 3 列單元格的值。

8. 獲取多個單元格的值

print(sheet['A2:C5'])

sheet['A2:C5'] 獲取從 A2 到 C5 的矩形區(qū)域內(nèi)的所有單元格的值。

9. 獲取單元格中所有的數(shù)據(jù)

for row in range(2,69):
    for col in "ABCDE":
        value = sheet[f"{col}{row}"].value
        print(value,end='\t')
    print()  # 換行

外層循環(huán) for row in range(2,69) 遍歷從第 2 行到第 68 行。

內(nèi)層循環(huán) for col in "ABCDE" 遍歷從 A 到 E 的列。

sheet[f"{col}{row}"].value 獲取指定單元格的值。

print(value,end='\t') 打印單元格的值,并使用制表符 \t 分隔。

print() 打印一個空行,實現(xiàn)換行的效果。

小結(jié)

這段代碼的主要功能是加載一個 Excel 文件,并從中讀取數(shù)據(jù)。通過使用 openpyxl 庫,代碼能夠方便地訪問和操作 Excel 文件中的單元格數(shù)據(jù),實現(xiàn)對數(shù)據(jù)的讀取和處理。

向xslx文件寫入數(shù)據(jù)-源碼

import random
import openpyxl
 
# 創(chuàng)建工作薄
wb = openpyxl.Workbook()
 
# 添加工作表
sheet = wb.active
sheet.title = '測試成績'
 
# 寫入數(shù)據(jù) 定義標題
titles = ("姓名", "射箭", "射擊", "足球")
 
# 將標題寫入到文件中
for col_index, title in enumerate(titles):
    sheet.cell(1, col_index + 1, title)
 
# 定義學生姓名
students = ("echo", "時針", "小夢", "大盒", "小羽", "snowy", "辰辰", "痞老板", "Gscsed")
 
# 將姓名和成績寫入到文件中
for row_index, student in enumerate(students):
    sheet.cell(row_index + 2, 1, student)
    for col_index in range(2, 5):
        sheet.cell(row_index + 2, col_index, random.randrange(50, 101))
# 將數(shù)據(jù)保存到工作薄中
wb.save('示例文件\測試成績.xlsx')

向xslx文件寫入數(shù)據(jù)-源碼解析

這段代碼使用了 openpyxl 庫來創(chuàng)建一個 Excel 文件,并在其中寫入學生的姓名和隨機生成的射箭、射擊、足球成績。以下是對代碼的詳細分析:

1. 導入庫

import random
import openpyxl

random 庫用于生成隨機數(shù)。

openpyxl 是一個用于創(chuàng)建和寫入 Excel 文件的 Python 庫。

2. 創(chuàng)建工作簿

wb = openpyxl.Workbook()

openpyxl.Workbook() 創(chuàng)建一個新的工作簿對象 wb。

3. 添加工作表

sheet = wb.active
sheet.title = '測試成績'

wb.active 獲取活動工作表對象。

sheet.title = '測試成績' 將活動工作表的標題設置為 '測試成績'。

4. 寫入數(shù)據(jù) 定義標題

titles = ("姓名", "射箭", "射擊", "足球")

titles 元組包含了列標題。

5. 將標題寫入到文件中

for col_index, title in enumerate(titles):
    sheet.cell(1, col_index + 1, title)

使用 enumerate(titles) 遍歷 titles 元組,同時獲取索引 col_index 和標題 title。

sheet.cell(1, col_index + 1, title) 將標題寫入工作表的第一行。

6. 定義學生姓名

students = ("echo", "時針", "小夢", "大盒", "小羽", "snowy", "辰辰", "痞老板", "Gscsed")

students 元組包含了學生的姓名。

7. 將姓名和成績寫入到文件中

for row_index, student in enumerate(students):
    sheet.cell(row_index + 2, 1, student)
    for col_index in range(2, 5):
        sheet.cell(row_index + 2, col_index, random.randrange(50, 101))

外層循環(huán)遍歷 students 元組的每一個元素。

sheet.cell(row_index + 2, 1, student) 將學生姓名寫入工作表的第二行及之后的每一行的第一列。

內(nèi)層循環(huán)遍歷射箭、射擊、足球這三列。

sheet.cell(row_index + 2, col_index, random.randrange(50, 101)) 將隨機生成的成績寫入工作表的第二行及之后的每一行的相應列。

8. 將數(shù)據(jù)保存到工作簿中

wb.save('示例文件\測試成績.xlsx')

wb.save('示例文件\測試成績.xlsx') 將工作簿保存為名為 '測試成績.xlsx' 的文件。

小結(jié)

這段代碼的主要功能是創(chuàng)建一個 Excel 文件,并在其中寫入學生的姓名和隨機生成的射箭、射擊、足球成績。通過使用 openpyxl 庫,代碼能夠方便地創(chuàng)建和操作 Excel 文件,實現(xiàn)對數(shù)據(jù)的存儲和管理。

到此這篇關(guān)于基于Python對xsl&xslx文件進行操作的文章就介紹到這了,更多相關(guān)Python xsl&xslx文件操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python3實現(xiàn)SMTP發(fā)送郵件的實戰(zhàn)指南

    Python3實現(xiàn)SMTP發(fā)送郵件的實戰(zhàn)指南

    ,本文詳細介紹 Python3 借助smtplib和email庫實現(xiàn) SMTP 郵件發(fā)送的方法,從基礎到實戰(zhàn)覆蓋多場景,先講解 SMTP 協(xié)議定義及兩核心庫功能,再說明創(chuàng)建 SMTP 對象和使用sendmail方法的核心語法與參數(shù),需要的朋友可以參考下
    2025-10-10
  • 詳解python tkinter包獲取本地絕對路徑(以獲取圖片并展示)

    詳解python tkinter包獲取本地絕對路徑(以獲取圖片并展示)

    這篇文章主要給大家介紹了關(guān)于python tkinter包獲取本地絕對路徑(以獲取圖片并展示)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • 從CentOS安裝完成到生成詞云python的實例

    從CentOS安裝完成到生成詞云python的實例

    下面小編就為大家分享一篇從CentOS安裝完成到生成詞云python的實例,具有很好的參考價值,希望對大家有所幫助
    2017-12-12
  • 使用Python和Tkinter實現(xiàn)html標簽去除工具

    使用Python和Tkinter實現(xiàn)html標簽去除工具

    本文介紹用Python和Tkinter開發(fā)的HTML標簽去除工具,支持去除HTML標簽、轉(zhuǎn)義實體并輸出純文本,提供圖形界面操作及復制功能,需要的朋友可以參考下
    2025-05-05
  • Pycharm配置PyQt5環(huán)境的教程

    Pycharm配置PyQt5環(huán)境的教程

    這篇文章主要介紹了Pycharm配置PyQt5環(huán)境的教程,本文通過圖文實例詳解給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Python使用combinations實現(xiàn)排列組合的方法

    Python使用combinations實現(xiàn)排列組合的方法

    今天小編就為大家分享一篇Python使用combinations實現(xiàn)排列組合的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • Python中常用的數(shù)據(jù)結(jié)構(gòu)與算法優(yōu)化技巧指南

    Python中常用的數(shù)據(jù)結(jié)構(gòu)與算法優(yōu)化技巧指南

    Python是一種強大而靈活的編程語言,它提供了豐富的數(shù)據(jù)結(jié)構(gòu)和算法庫,但是在處理大規(guī)模數(shù)據(jù)或者需要高效運行的情況下,需要考慮一些優(yōu)化技巧,本文將介紹一些Python中常用的數(shù)據(jù)結(jié)構(gòu)與算法優(yōu)化技巧,需要的朋友可以參考下
    2024-05-05
  • Ubuntu 16.04 LTS中源碼安裝Python 3.6.0的方法教程

    Ubuntu 16.04 LTS中源碼安裝Python 3.6.0的方法教程

    最近Python 3發(fā)布了新版本Python 3.6.0,好像又加入了不少黑魔法!由于暫時不能使用 apt-get 的方式安裝 Python 3.6,所以還是直接編譯源碼安裝吧。下面這篇文章就介紹了在Ubuntu 16.04 LTS中源碼安裝Python 3.6.0的方法教程,需要的朋友可以參考下。
    2016-12-12
  • 淺談如何重構(gòu)冗長的Python代碼

    淺談如何重構(gòu)冗長的Python代碼

    這篇文章主要介紹了淺談如何重構(gòu)冗長的Python代碼,編寫干凈的?Pythonic?代碼就是盡可能使其易于理解,但又簡潔,過長的代碼如何做到簡潔高效,需要的朋友可以參考下
    2023-04-04
  • python3中rank函數(shù)的用法

    python3中rank函數(shù)的用法

    今天小編就為大家分享一篇python3中rank函數(shù)的用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11

最新評論

龙海市| 霍城县| 常山县| 屯门区| 社会| 博罗县| 邹平县| 东阿县| 武邑县| 东至县| 安乡县| 天台县| 吐鲁番市| 林西县| 克什克腾旗| 固阳县| 崇信县| 昭觉县| 临猗县| SHOW| 湘西| 南丹县| 沾益县| 柳江县| 临沭县| 玉屏| 金堂县| 崇仁县| 布尔津县| 洪雅县| 多伦县| 屯门区| 寻乌县| 千阳县| 汝州市| 吴旗县| 长治市| 安阳县| 县级市| 老河口市| 浦江县|