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

基于Python對(duì)xsl&xslx文件進(jìn)行操作

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

讀取xsl格式文件-源碼

import xlrd
 
# 讀取xls文件中的工作對(duì)象
wb = xlrd.open_workbook('示例文件/xxx物理學(xué)與信息技術(shù)學(xué)院.xls')
print(wb)
 
# 獲取所有的工作表名稱(chēng)
sheet_names = wb.sheet_names()
# print(sheet_names)
 
# 選擇要讀取的具體工作表對(duì)象
sheet = wb.sheet_by_name(sheet_names[0])
# print(sheet)
 
# 查看工作表的行和列數(shù)
# print(sheet.nrows,sheet.ncols)  # 329 6
 
# 通過(guò)循環(huán)的方式獲取工作表中每行和每列的數(shù)據(jù)
for row in range(sheet.nrows):
    for col in range(sheet.ncols):
        # print(row,col)
        # 通過(guò)cell對(duì)象中的value屬性獲取具體單元格式中的數(shù)據(jù)
        value = sheet.cell(row, col).value
        # print(value)
'''
        # 將第一行以外的數(shù)據(jù)進(jìn)行格式化處理
        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()  # 實(shí)現(xiàn)換行的效果
'''

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

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

1. 導(dǎo)入庫(kù)

import xlrd

xlrd 是一個(gè)用于讀取 Excel 文件的 Python 庫(kù)。

2. 打開(kāi)工作簿

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

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

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

3. 獲取所有的工作表名稱(chēng)

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

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

4. 選擇要讀取的具體工作表對(duì)象

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

wb.sheet_by_name(sheet_names[0]) 根據(jù)工作表名稱(chēng)獲取第一個(gè)工作表對(duì)象 sheet。

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

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

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

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

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

for row in range(sheet.nrows):
    for col in range(sheet.ncols):
        value = sheet.cell(row, col).value
        # 將第一行以外的數(shù)據(jù)進(jìn)行格式化處理
        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()  # 實(shí)現(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 獲取指定單元格的值。

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

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

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

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

小結(jié)

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

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

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

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

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

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

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

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

這段代碼使用了 xlwt 庫(kù)來(lái)創(chuàng)建一個(gè) Excel 文件,并在其中寫(xiě)入學(xué)生的姓名和隨機(jī)生成的語(yǔ)文、數(shù)學(xué)、英語(yǔ)成績(jī)。以下是對(duì)代碼的詳細(xì)分析:

1. 導(dǎo)入庫(kù)

import xlwt
import random

xlwt 是一個(gè)用于創(chuàng)建和寫(xiě)入 Excel 文件的 Python 庫(kù)。

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

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

wb = xlwt.Workbook()

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

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

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

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

4. 定義學(xué)生姓名

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

students 列表包含了六個(gè)學(xué)生的姓名。

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

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

使用列表生成式生成一個(gè)包含 6 個(gè)學(xué)生的語(yǔ)文、數(shù)學(xué)、英語(yǔ)成績(jī)的二維列表 scores。

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

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

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

titles 列表包含了表頭信息。

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

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

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

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

8. 寫(xiě)入學(xué)生姓名和成績(jī)

for row in range(len(scores)):
    sheet.write(row + 1, 0, students[row])  # 從第二行開(kāi)始寫(xiě)入相關(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]) 將學(xué)生姓名寫(xiě)入工作表的第二行及之后的每一行的第一列。

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

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

9. 保存工作簿

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

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

小結(jié)

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

讀取xslx格式文件-源碼

import openpyxl
 
# 加載工作薄
wb = openpyxl.load_workbook(r'示例文件\xx碩士信息.xlsx')
 
# 獲取工作表名稱(chēng)
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)
 
# 獲取多個(gè)單元格的值
# 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 庫(kù)來(lái)加載和操作一個(gè)名為 xx碩士信息.xlsx 的 Excel 文件。以下是對(duì)代碼的詳細(xì)分析:

1. 導(dǎo)入庫(kù)

import openpyxl

openpyxl 是一個(gè)用于讀取和寫(xiě)入 Excel 文件的 Python 庫(kù)。

2. 加載工作簿

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

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

3. 獲取工作表名稱(chēng)

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

wb.sheetnames 返回一個(gè)包含所有工作表名稱(chēng)的列表。

4. 獲取要操作的工作表

sheet = wb.worksheets[0]

wb.worksheets[0] 獲取工作簿中的第一個(gè)工作表對(duì)象 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. 獲取多個(gè)單元格的值

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() 打印一個(gè)空行,實(shí)現(xiàn)換行的效果。

小結(jié)

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

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

import random
import openpyxl
 
# 創(chuàng)建工作薄
wb = openpyxl.Workbook()
 
# 添加工作表
sheet = wb.active
sheet.title = '測(cè)試成績(jī)'
 
# 寫(xiě)入數(shù)據(jù) 定義標(biāo)題
titles = ("姓名", "射箭", "射擊", "足球")
 
# 將標(biāo)題寫(xiě)入到文件中
for col_index, title in enumerate(titles):
    sheet.cell(1, col_index + 1, title)
 
# 定義學(xué)生姓名
students = ("echo", "時(shí)針", "小夢(mèng)", "大盒", "小羽", "snowy", "辰辰", "痞老板", "Gscsed")
 
# 將姓名和成績(jī)寫(xiě)入到文件中
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('示例文件\測(cè)試成績(jī).xlsx')

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

這段代碼使用了 openpyxl 庫(kù)來(lái)創(chuàng)建一個(gè) Excel 文件,并在其中寫(xiě)入學(xué)生的姓名和隨機(jī)生成的射箭、射擊、足球成績(jī)。以下是對(duì)代碼的詳細(xì)分析:

1. 導(dǎo)入庫(kù)

import random
import openpyxl

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

openpyxl 是一個(gè)用于創(chuàng)建和寫(xiě)入 Excel 文件的 Python 庫(kù)。

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

wb = openpyxl.Workbook()

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

3. 添加工作表

sheet = wb.active
sheet.title = '測(cè)試成績(jī)'

wb.active 獲取活動(dòng)工作表對(duì)象。

sheet.title = '測(cè)試成績(jī)' 將活動(dòng)工作表的標(biāo)題設(shè)置為 '測(cè)試成績(jī)'。

4. 寫(xiě)入數(shù)據(jù) 定義標(biāo)題

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

titles 元組包含了列標(biāo)題。

5. 將標(biāo)題寫(xiě)入到文件中

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

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

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

6. 定義學(xué)生姓名

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

students 元組包含了學(xué)生的姓名。

7. 將姓名和成績(jī)寫(xiě)入到文件中

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 元組的每一個(gè)元素。

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

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

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

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

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

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

小結(jié)

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

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

相關(guān)文章

  • python線程中同步鎖詳解

    python線程中同步鎖詳解

    這篇文章主要為大家詳細(xì)介紹了python線程中同步鎖的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • python Django模板的使用方法(圖文)

    python Django模板的使用方法(圖文)

    模板通常用于產(chǎn)生HTML,但是Django的模板也能產(chǎn)生任何基于文本格式的文檔。
    2013-11-11
  • 一文教你利用Python租到最合適的房子

    一文教你利用Python租到最合適的房子

    這篇文章主要為大家詳細(xì)介紹了如何利用Python語(yǔ)言在爬取到房源數(shù)據(jù)后,挑選出符合自己要求的房子呢?感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-09-09
  • 淺談keras保存模型中的save()和save_weights()區(qū)別

    淺談keras保存模型中的save()和save_weights()區(qū)別

    這篇文章主要介紹了淺談keras保存模型中的save()和save_weights()區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • 一文帶你精通Python中*args和**kwargs的應(yīng)用技巧

    一文帶你精通Python中*args和**kwargs的應(yīng)用技巧

    如果能在Python中創(chuàng)建適應(yīng)不同場(chǎng)景的函數(shù),而無(wú)需每次都重寫(xiě)它們,會(huì)使得操作簡(jiǎn)潔方便,這就是*args和**kwargs的魔力所在,下面我們就來(lái)看看它們的具體一些應(yīng)用技巧吧
    2024-03-03
  • Python的sqlite3模塊中常用函數(shù)

    Python的sqlite3模塊中常用函數(shù)

    sqlite3模塊是Python中的內(nèi)置模塊,用于與SQLite數(shù)據(jù)庫(kù)交互,本文就來(lái)介紹一下Python的sqlite3模塊中常用函數(shù),感興趣的可以了解一下
    2023-10-10
  • python抓取某城市全部道路名稱(chēng)信息

    python抓取某城市全部道路名稱(chēng)信息

    本文主要介紹了python抓取某城市全部道路名稱(chēng)信息,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • 使用Python實(shí)現(xiàn)批量ping操作方法

    使用Python實(shí)現(xiàn)批量ping操作方法

    這篇文章主要介紹了使用Python實(shí)現(xiàn)批量ping操作方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Python自動(dòng)調(diào)用IE打開(kāi)某個(gè)網(wǎng)站的方法

    Python自動(dòng)調(diào)用IE打開(kāi)某個(gè)網(wǎng)站的方法

    這篇文章主要介紹了Python自動(dòng)調(diào)用IE打開(kāi)某個(gè)網(wǎng)站的方法,涉及Python調(diào)用系統(tǒng)win32組件的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • Python?OpenCV中常用圖片處理函數(shù)小結(jié)

    Python?OpenCV中常用圖片處理函數(shù)小結(jié)

    在計(jì)算機(jī)視覺(jué)和圖像處理領(lǐng)域,OpenCV(Open?Source?Computer?Vision?Library)是一個(gè)非常強(qiáng)大和流行的開(kāi)源庫(kù),本文將介紹一些常用的OpenCV函數(shù),希望對(duì)大家有所幫助
    2024-03-03

最新評(píng)論