python与excel的相关操作

(欢迎光临差–点先生博客)
(开发环境PyCharm 2022 Professional版,Python3.7)

一、使用openpyxl读取非加密excel

  1. 安装模块:pip install openpyxl,导入模块:import openpyxl
  2. 读取路径下的文件,创建工作簿对象:workbook = openpyxl.load_workbook('文件路径')
  3. 读取sheet页,读取激活的sheet页:workbook_sheet = workbook.active,读取指定sheet页:workbook_sheet = workbook['sheet名称']
  4. 获取数据规模,最大行数:data_maxrow = workbook_sheet.max_row,最大列数:data_maxcolumn = workbook_sheet.max_column
  5. 获取指定单元格数据:data = workbook_sheet.cell('行号', '列号').value
  6. 写入值:workbook_sheet.cell('行号', '列号').value = data
  7. 保存修改:workbook.save('文件路径')
  8. 关闭工作簿对象:workbook.close()

二、使用openpyxl读取加密excel

  1. 安装解密模块:pip install msoffcrypto-tool
  2. 导入模块:import msoffcrypto
  3. 创建文件对象,以二进制只读模式:msoffcrypto.OfficeFile(open('文件路径', 'rb'))
  4. 键入文件密码:file.load_key(password='密码')
  5. 将加密文件拷贝一份到指定路径解除密码file.decrypt(open('保存路径', 'wb'))
  6. 后续就可以用openpyxl.load_workbook进行无密码读取继续相关操作

三、使用openpyxl新建excel

  1. 创建工作簿对象:workbook = openpyxl.Workbook()
  2. 取得sheet对象:workbook_sheet = workbook.active
  3. 插入一行数据:workbook_sheet.append([数据列表])
  4. 保存excel:workbook.save('保存的路径')
  5. 关闭工作簿对象:workbook.close()

四、使用pandas读取excel(比openpyxl快速)

import pandas
excel_name = r'C:\Users\Administrator\Desktop\xxx1.xlsx'
sheet_name = r'xxxSheet'
pd_excel = pandas.read_excel(excel_name, sheet_name=sheet_name, dtype='object')
# dtype='object'是为了防止读取excel数据时pandas自动转换,如果不加上的话000123自动转为123
table = pd_excel.values
for row in table:
    for column in row:
        print(column)
# 转为列表格式
excel_list = pd_excel.values.tolist()
# 转为字典格式
excel_dict = pd_excel.to_dict('records')  # orient='records'参数告诉to_dict函数将DataFrame的每一行转换为一个字典

五、使用pandas创建excel(比openpyxl快速)

nameList = []
valueList = []
for i in table:
    nameList.append(i[1])
    valueList.append(i[5])
df = pandas.DataFrame({'用户名': nameList, '所属公司': valueList})
df.to_excel(r'C:\Users\Administrator\Desktop\df结果表.xlsx', sheet_name='Sheet1', index=False)
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值