300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > python处理excel之openpyxl模块的使用

python处理excel之openpyxl模块的使用

时间:2023-10-17 12:21:05

相关推荐

python处理excel之openpyxl模块的使用

python处理excel之openpyxl模块的使用

from openpyxl import Workbookfrom openpyxl import load_workbook################################################## 工作表、工作簿操作 ################################################### wb = load_workbook('D:\work\CBS-SW V500R021C00SPC009_FranceBYG_patch001_任务书_Oraclecutgaussdb.xlsx') # 打开已有工作簿wb = Workbook() # 新建工作簿ws_active = wb.active # 获取活动工作表ws_active.title = 'mySheet1' # 重命名活动工作表ws = wb['mySheet1'] # 获取特定工作表print(wb.active.title) # 查看当前活动工作表名wb.create_sheet('mySheet2') # 创建新的工作表(默认添加至最后)wb.create_sheet('mySheetTest', 1) # 创建新的工作表(添加至指定位置)# wb.active = wb['mySheet2'] # 修改当前活动工作表print(wb.active.title)print(wb.sheetnames) # 所有sheet名列表print(wb.worksheets) # 所有sheet对象列表print(wb.read_only) # 是否只读wb.save('D:\codehub_note\\test.xlsx') # 覆盖同名文件保存print(wb.encoding) # 工作簿编码print(wb.properties) # 工作簿属性################################################## 单元格操作 ##################################################cell = ws['B1'] # 获取单元格ws['B1'] = 'aaa' # 单元格赋值print(cell.row) # 获取单元格行值 1print(cell.column) # 获取单元格列值 2print(cell.col_idx) # 获取单元格列值 2print(cell.coordinate) # 获取单元格列值 B1print(cell.data_type) # 单元格类型 s--string n--number d--dateprint(cell.encoding) # 单元格编码print(cell.has_style) # 是否有样式 style为normal,返回Falseprint(cell.style) # 样式print(cell.style_id) # 样式id,normal为0print(cell.value) # 获取单元格值cell.value = "bbb" # 修改单元格值print(cell.value) # 获取单元格值################################################## 通过行列操作单元格 ##################################################values = ws.values # 获取工作表所有数据print(list(values)) # 一行对应一个值,每行为一个元组 [(None, 'bbb', None), (1, 2, 3)]for i in ws.iter_rows(min_col=3, max_col=5, min_row=1, max_row=4): # 在参数矩阵中,每行一个cell对象元组, 返回若干元组的列表# print(i)i[1].value = 100 # 每行第2列(实际是第4列,因为列是从3开始的)复制为100for i in ws.iter_cols(min_col=3, max_col=5, min_row=2, max_row=3): # 在参数矩阵中,每列一个cell对象元组, 返回若干元组的列表# print(i)i[1].value = 100 # 每列第2行(实际是第3行,因为行是从2开始的)赋值为100for i in list(ws.columns): # 在参数矩阵中,每列一个cell对象元组, 返回若干元组的列表 只返回有值的矩阵中的所有数据,包含空值for j in i:if j.value != None:print(j.coordinate, j.value)for i in list(ws.rows): # 在参数矩阵中,每行一个cell对象元组, 返回若干元组的列表 只返回有值的矩阵中的所有数据,包含空值for j in i:if j.value != None:print(j.coordinate, j.value)################################################## 行列操作 ##################################################ws.append([1, 2, 3]) # 在工作表最后一行之后的空白行插入数据,从空白行第一列开始往右,列表内一个值对应一个单元格ws.delete_cols(1) # 删除第一列,从1开始ws.delete_rows(1) # 删除第一行,从1开始wb.save('D:\codehub_note\\test.xlsx') # 覆盖同名文件保存# 参考/hls-code/p/15674197.html

json转excel示例

import jsonfrom openpyxl import WorkbookjsonStr = """{"familyName": "thinker family","homeTown": "广东省","formed": ,"secretBase": "Super city","active": true,"familyMembers": [{"name": "Jobs","age": 35,"secretIdentity": "1992238132345","powers": ["Radiation resistance","Turning tiny","Radiation blast"]},{"name": "James","age": 37,"secretIdentity": "8839394098124","powers": ["Million tonne punch","Damage resistance","Superhuman reflexes"]}]}"""loads = json.loads(jsonStr)print(loads["familyMembers"])wb = Workbook()ws = wb.activews.append(list(loads["familyMembers"][0].keys()))ws.merge_cells(start_column=4, end_column=6, start_row=1, end_row=1) # 合并单元格for i in loads["familyMembers"]:ws.append([i["name"], i["age"], i["secretIdentity"], i["powers"][0], i["powers"][1], i["powers"][2]])wb.save('D:\codehub_note\\test.xlsx')

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。