weixin_46253891 2022-09-01 21:17 采纳率: 58.3%
浏览 155
已结题

python读取加密excel(有密码,不是破解)

问题遇到的现象和发生背景

下载一些订单信息的时候,系统自带了该文件的密码,我们有这些密码,不需要破解。但是因为每个文件的密码都不一样,
例如1月订单的密码和2月的订单密码不一样。但是我想批量合并这些的订单的时候,直接用python读取文件就会会报错的,请问有哪些方法可以呢?

我现在都是用打开后,复制粘贴到新的excel上。再用代码进行操作

我的解答思路和尝试过的方法

我个人是感觉做一个专门保存密码的excel,使用读取文件名后,找到相对应的密码进行输入,会不会最方便呢?
但是相关的代码不太懂,只知道思路。不知道操作的方法。

文件名密码
123.xlsx1ds4an2
avc.xlsx128eQAd
asdk.xlsx23dasgg
  • 写回答

1条回答 默认 最新

  • 爱看书的小沐 2022-09-02 06:59
    关注
    
    pip install --upgrade xlwings
    

    打开带密码的excel:

    
    import xlwings as xw
     
    app = xw.App(visible=True, add_book=False)
    wb = app.books.open(r"d:\test.xlsx", password="123")
    ###
    ### TODO
    ###
    wb.save(r"d:\test2.xlsx", password='')
    wb.close()
    app.quit()
    

    复制粘贴excel的内容:

    # 把sht2的值复制到sht1
    sht1= wb1.sheets['sheet1']
    sht2= wb2.sheets['sheet1']
    sht1.range('AK2').value=sht2.range('Y2').expand('table').value
    
    # 把sht2的列复制到sht1去
    sht1= wb1.sheets['sheet1']
    sht2= wb2.sheets['sheet1']
    sht2.api.Columns('Y:BQ').Copy(sht1.api.Columns('AK:CC'))
    
    # 将多个wb2的sheet copy到wb1的status sheet后面
    sht1= wb1.sheets['sheet1']
    sht2= wb2.sheets['sheet1']
    wb2.sheets['summary report','detail report','Backlog','summary GIT'].api.Copy(After=wb1.sheets['Status'].api)
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月27日
  • 修改了问题 9月1日
  • 创建了问题 9月1日

悬赏问题

  • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
  • ¥15 电视版的优酷可以设置电影连续播放吗?
  • ¥50 复现论文;matlab代码编写
  • ¥30 echarts 3d地图怎么实现一进来页面散点数据和卡片一起轮播
  • ¥15 数字图像的降噪滤波增强
  • ¥15 心碎了,为啥我的神经网络训练的时候第二个批次反向传播会报错呀,第一个批次都没有问题
  • ¥15 MSR2680-XS路由器频繁卡顿问题
  • ¥15 VB6可以成功读取的文件,用C#读不了
  • ¥15 如何使用micpyhon解析Modbus RTU返回指定站号的湿度值,并确保正确?
  • ¥15 C++ 句柄后台鼠标拖动如何实现