java解析excel文件_1.3.1 python解析excel格式文件
Excel表格
? ? ?Microsoft Excel是Microsoft為使用Windows和Apple Macintosh操作系統的電腦編寫的一款電子表格軟件。
excel文檔的基本定義
工作薄(workbook)
工作表(sheet)
活動表(active sheet)
行(row): 1,2,3,4,5,6……..
列(column): A,B,C,D……..
單元格(cell): B1, C1
excel文件格式
Python安裝excel相關模塊
? ? ?python對于Excel表格操作的模塊有很多種,其中
xlrd:對xls、xlsx、xlsm文件進行讀操作–讀操作效率較高,推薦
xlwt:對xls文件進行寫操作–寫操作效率較高,但是不能執行xlsx文件
openpyxl:對xlsx、xlsm文件進行讀、寫操作–xlsx寫操作推薦使用
Python不附帶Openpyxl,因此您必須安裝它。模塊的名稱是openpyxl,其安裝方式有兩種,可以直接在dos中使用下面命令:
pip install openpyxl同樣可以直接在pycharm中選擇File | Settings | Project: python2020 | Project Interpreter
操作的excel表格數據是
?打開一個excel文檔
import openpyxl#?打開一個excel文檔,?class?'openpyxl.workbook.workbook.Workbook'實例化出來的對象wb = openpyxl.load_workbook('wood.xlsx')print(wb, type(wb))# 獲取當前工作薄里所有的工作表, 和正在使用的表;print(wb.sheetnames)print(wb.active)執行結果:
選擇要操作的工作表
# 2. 選擇要操作的工作表, 返回工作表對象sheet = wb['Sheet1']# 獲取工作表的名稱print(sheet.title)執行結果:
指定行指定列的單元格信息
# 3. 返回指定行指定列的單元格信息print(sheet.cell(row=1, column=2).value)cell = sheet['B1']print(cell)print(cell.row, cell.column, cell.value)執行結果:
獲取工作表中行和列的最大值
# 4. 獲取工作表中行和列的最大值print(sheet.max_column)print(sheet.max_row)sheet.title = '學生信息'print(sheet.title)執行結果:
訪問單元格的所有信息
# 5. 訪問單元格的所有信息print(sheet.rows) # 返回一個生成器, 包含文件的每一行內容, 可以通過便利訪問.# 循環遍歷每一行for row in sheet.rows: # 循環遍歷每一個單元格 for cell in row: # 獲取單元格的內容 print(cell.value, end=',')????print()執行結果:
保存修改信息
# 6. 保存修改信息wb.save(filename='wood.xlsx')將數據寫入Excel
工作表相關
導入WorkBook模塊
from?openpyxl?import?Workbookwb = Workbook()這樣就新建了一個新的工作表(只是還沒被保存)。
若要指定只寫模式,可以指定參數write_only=True。一般默認的可寫可讀模式就可以了。
from openpyxl import Workbookwb = Workbook()print(wb.get_sheet_names()) # 提供一個默認名叫Sheet的表#上述獲取sheet的方式已經被sheetnames屬性替換了:wb.sheetnames# 直接賦值就可以改工作表的名稱wb["Sheet"].title = 'Sheet1'# 新建一個工作表,可以指定索引,適當安排其在工作簿中的位置wb.create_sheet('test', index=1) # 被安排到第二個工作表,index=0就是第一個位置# 刪除某個工作表wb.remove(wb["Sheet1"]) #同樣還可以使用del wb["Sheet1"]#保存excelwb.save("wood_test.xlsx")寫入單元格
還可以使用公式
#先獲取test工作表的操作對象sheet=wb["test"]#直接給單元格賦值就行sheet['A1'] = 'wood'sheet["B4"]=10sheet["B8"]=20# B10處寫入平均值sheet['B10']?=?'=AVERAGE(B4:B8)'執行結果如下:
append函數
可以一次添加多行數據,從第一行空白行開始(下面都是空白行)寫入。
# 添加一行row = [11, 12, 13, 14, 15]sheet.append(row)# 添加多行rows = [ ['ID', 'age1', 'age2'], [2, 40, 30], [3, 40, 25], [4, 50, 30], [5, 30, 10], [6, 25, 5], [7, 50, 10],]for value in rows: sheet.append(value)執行結果:
Excel操作總結
導入 openpyxl 模塊。
調用 openpyxl.load_workbook()函數。
取得 Workbook 對象。
調用 wb.sheetnames和 wb.active 獲取工作簿詳細信息。
取得 Worksheet 對象。
使用索引或工作表的 cell()方法,帶上 row 和 column 關鍵字參數。
取得 Cell 對象。
讀取 Cell 對象的 value 屬性
了解更多信息關注公眾號
分享課程立馬賺:
總結
以上是生活随笔為你收集整理的java解析excel文件_1.3.1 python解析excel格式文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ftm模块linux驱动,飞思卡尔k系列
- 下一篇: pandas 更改单元格的值_懂Exce