基于Python對xsl&xslx文件進行操作
讀取xsl格式文件-源碼
import xlrd
# 讀取xls文件中的工作對象
wb = xlrd.open_workbook('示例文件/xxx物理學與信息技術學院.xls')
print(wb)
# 獲取所有的工作表名稱
sheet_names = wb.sheet_names()
# print(sheet_names)
# 選擇要讀取的具體工作表對象
sheet = wb.sheet_by_name(sheet_names[0])
# print(sheet)
# 查看工作表的行和列數
# print(sheet.nrows,sheet.ncols) # 329 6
# 通過循環(huán)的方式獲取工作表中每行和每列的數據
for row in range(sheet.nrows):
for col in range(sheet.ncols):
# print(row,col)
# 通過cell對象中的value屬性獲取具體單元格式中的數據
value = sheet.cell(row, col).value
# print(value)
'''
# 將第一行以外的數據進行格式化處理
if row > 0:
# 將第一列的數據轉化為年月日的格式
if col == 0:
value = xlrd.xldate_as_tuple(value,0)
# print(value)
# :>2d 表示月份和日期保留兩位數
value = f'{value[0]}年{value[1]:>02d}月{value[2]:>02d}日'
# print(value)
else:
# 將除了第一列的數據之外的數據保留兩位小數
value = f'{value:.2f}'
print(value,end='\t')
print() # 實現換行的效果
'''讀取xsl格式文件-源碼解析
這段代碼使用 xlrd 庫來讀取和處理一個名為 xxx物理學與信息技術學院.xls 的 Excel 文件。以下是對代碼的詳細分析:
1. 導入庫
import xlrd
xlrd 是一個用于讀取 Excel 文件的 Python 庫。
2. 打開工作簿
wb = xlrd.open_workbook('示例文件/xxx物理學與信息技術學院.xls')
print(wb)
xlrd.open_workbook 函數用于打開一個 Excel 文件,并返回一個工作簿對象 wb。
print(wb) 打印工作簿對象,通常會顯示文件路徑和一些元數據。
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]) 根據工作表名稱獲取第一個工作表對象 sheet。
5. 查看工作表的行和列數
# print(sheet.nrows, sheet.ncols) # 329 6
sheet.nrows 返回工作表的行數。
sheet.ncols 返回工作表的列數。
6. 通過循環(huán)的方式獲取工作表中每行和每列的數據
for row in range(sheet.nrows):
for col in range(sheet.ncols):
value = sheet.cell(row, col).value
# 將第一行以外的數據進行格式化處理
if row > 0:
# 將第一列的數據轉化為年月日的格式
if col == 0:
value = xlrd.xldate_as_tuple(value, 0)
value = f'{value[0]}年{value[1]:>02d}月{value[2]:>02d}日'
else:
# 將除了第一列的數據之外的數據保留兩位小數
value = f'{value:.2f}'
print(value, end='\t')
print() # 實現換行的效果
外層循環(huán) for row in range(sheet.nrows) 遍歷每一行。
內層循環(huán) for col in range(sheet.ncols) 遍歷每一列。
sheet.cell(row, col).value 獲取指定單元格的值。
如果當前行不是第一行(即 row > 0),則對數據進行格式化處理:
- 如果當前列是第一列(即 col == 0),則將日期格式化為 年月日 的形式。
- 否則,將數值保留兩位小數。
print(value, end='\t') 打印格式化后的值,并使用制表符 \t 分隔。
print() 打印一個空行,實現換行的效果。
小結
這段代碼的主要功能是讀取一個 Excel 文件,并對其中的數據進行格式化處理:
將第一列的日期格式化為 年月日 的形式。
將其他數值保留兩位小數。
使用制表符分隔每列的數據,并在每行結束后換行。
通過這種方式,代碼能夠有效地處理和展示 Excel 文件中的數據。
向xsl文件寫入數據-源碼
import xlwt
import random
# 創(chuàng)建工作薄對象
wb = xlwt.Workbook()
# 創(chuàng)建工作表對象
sheet = wb.add_sheet('高一三班')
# 定義學生姓名
students = ['張三','李四','王五','里爾','飛天','閏土']
# 通過列表生成式生成 語數英成績
scores = [[random.randrange(50,151) for i in range(3)] for j in range(6)]
# print(scores)
# 創(chuàng)建表頭數據
titles = ['姓名','語文','數學','英語']
for index,title in enumerate(titles):
# print(index,title)
# 將數據添加到sheet工作表中
# 第一個參數表示工作行 第二個參數表示列 第三個參數表示具體內容
sheet.write(0,index,title)
# 將學生的姓名成績依次寫入到文件中
for row in range(len(scores)):
# print(row)
sheet.write(row+1,0,students[row]) # 從第二行開始寫入相關的數據
for col in range(len(scores[row])):
sheet.write(row+1,col+1,scores[row][col])
# 將數據寫入到工作薄當中
wb.save('示例文件/考試成績.xls')向xsl文件寫入數據-源碼解析
這段代碼使用了 xlwt 庫來創(chuàng)建一個 Excel 文件,并在其中寫入學生的姓名和隨機生成的語文、數學、英語成績。以下是對代碼的詳細分析:
1. 導入庫
import xlwt import random
xlwt 是一個用于創(chuàng)建和寫入 Excel 文件的 Python 庫。
random 庫用于生成隨機數。
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. 生成成績數據
scores = [[random.randrange(50, 151) for i in range(3)] for j in range(6)]
使用列表生成式生成一個包含 6 個學生的語文、數學、英語成績的二維列表 scores。
random.randrange(50, 151) 生成一個 50 到 150 之間的隨機整數。
6. 創(chuàng)建表頭數據
titles = ['姓名', '語文', '數學', '英語']
titles 列表包含了表頭信息。
7. 寫入表頭數據
for index, title in enumerate(titles):
sheet.write(0, index, title)
使用 enumerate(titles) 遍歷 titles 列表,同時獲取索引 index 和標題 title。
sheet.write(0, index, title) 將表頭數據寫入工作表的第一行。
8. 寫入學生姓名和成績
for row in range(len(scores)):
sheet.write(row + 1, 0, students[row]) # 從第二行開始寫入相關的數據
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]) 將學生姓名寫入工作表的第二行及之后的每一行的第一列。
內層循環(huán)遍歷 scores[row] 列表的每一個元素。
sheet.write(row + 1, col + 1, scores[row][col]) 將成績寫入工作表的第二行及之后的每一行的相應列。
9. 保存工作簿
wb.save('示例文件/考試成績.xls')
wb.save('示例文件/考試成績.xls') 將工作簿保存為名為 '考試成績.xls' 的文件。
小結
這段代碼的主要功能是創(chuàng)建一個 Excel 文件,并在其中寫入學生的姓名和隨機生成的語文、數學、英語成績。通過使用 xlwt 庫,代碼能夠方便地創(chuàng)建和操作 Excel 文件,實現對數據的存儲和管理。
讀取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
# 獲取行數和列數
# print(sheet.max_row,sheet.max_column) # 64814 5
# 獲取指定單元格的值
# print(sheet.cell(3,3).value)
# 獲取多個單元格的值
# print(sheet['A2:C5'])
# 獲取單元格中所有的數據
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. 獲取行數和列數
print(sheet.max_row,sheet.max_column) # 64814 5
sheet.max_row 返回工作表中的最大行數。
sheet.max_column 返回工作表中的最大列數。
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ū)域內的所有單元格的值。
9. 獲取單元格中所有的數據
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 行。
內層循環(huán) for col in "ABCDE" 遍歷從 A 到 E 的列。
sheet[f"{col}{row}"].value 獲取指定單元格的值。
print(value,end='\t') 打印單元格的值,并使用制表符 \t 分隔。
print() 打印一個空行,實現換行的效果。
小結
這段代碼的主要功能是加載一個 Excel 文件,并從中讀取數據。通過使用 openpyxl 庫,代碼能夠方便地訪問和操作 Excel 文件中的單元格數據,實現對數據的讀取和處理。
向xslx文件寫入數據-源碼
import random
import openpyxl
# 創(chuàng)建工作薄
wb = openpyxl.Workbook()
# 添加工作表
sheet = wb.active
sheet.title = '測試成績'
# 寫入數據 定義標題
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))
# 將數據保存到工作薄中
wb.save('示例文件\測試成績.xlsx')向xslx文件寫入數據-源碼解析
這段代碼使用了 openpyxl 庫來創(chuàng)建一個 Excel 文件,并在其中寫入學生的姓名和隨機生成的射箭、射擊、足球成績。以下是對代碼的詳細分析:
1. 導入庫
import random import openpyxl
random 庫用于生成隨機數。
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. 寫入數據 定義標題
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) 將學生姓名寫入工作表的第二行及之后的每一行的第一列。
內層循環(huán)遍歷射箭、射擊、足球這三列。
sheet.cell(row_index + 2, col_index, random.randrange(50, 101)) 將隨機生成的成績寫入工作表的第二行及之后的每一行的相應列。
8. 將數據保存到工作簿中
wb.save('示例文件\測試成績.xlsx')
wb.save('示例文件\測試成績.xlsx') 將工作簿保存為名為 '測試成績.xlsx' 的文件。
小結
這段代碼的主要功能是創(chuàng)建一個 Excel 文件,并在其中寫入學生的姓名和隨機生成的射箭、射擊、足球成績。通過使用 openpyxl 庫,代碼能夠方便地創(chuàng)建和操作 Excel 文件,實現對數據的存儲和管理。
到此這篇關于基于Python對xsl&xslx文件進行操作的文章就介紹到這了,更多相關Python xsl&xslx文件操作內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python3實現SMTP發(fā)送郵件的實戰(zhàn)指南
,本文詳細介紹 Python3 借助smtplib和email庫實現 SMTP 郵件發(fā)送的方法,從基礎到實戰(zhàn)覆蓋多場景,先講解 SMTP 協議定義及兩核心庫功能,再說明創(chuàng)建 SMTP 對象和使用sendmail方法的核心語法與參數,需要的朋友可以參考下2025-10-10
詳解python tkinter包獲取本地絕對路徑(以獲取圖片并展示)
這篇文章主要給大家介紹了關于python tkinter包獲取本地絕對路徑(以獲取圖片并展示)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09
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

