【问题标题】:Python reading a password protected excelPython读取受密码保护的excel
【发布时间】:2020-06-18 18:06:48
【问题描述】:

问题:- python 包 pandas,openpyxl 无法读取密码保护的 excel。

行动:- 审查 decrypt excel files 但仍然无法正常工作

结果:- 只弹出密码输入框

【问题讨论】:

  • stackoverflow.com/a/60556707/11674978这里回答简单方便
  • 这里的解决方案就是输入密码并制作一个不受保护的文件副本,对吧?不要介意潜在的安全问题,为什么不直接打开文件并手动保存副本?我不确定我是否同意这是标题和帖子中描述的问题的解决方案,因为您实际上并没有阅读受密码保护的文件。
  • 在提供的解决方案中,我们仍然需要知道哪一列是最后一行,以便将其作为数据帧读取
  • 同样根据stackoverflow.com/a/53015707/11674978如果找到最后一行很慢,但是如果你有100k行的数据,非常耗时。在某些情况下,我同意这是一种很好的阅读方式

标签: python


【解决方案1】:

使用:- Anaconda,jupyter notebook

怎么办?读取加密的 excel 并导出为非加密的 excel 并继续。

import win32com.client
excel = win32com.client.Dispatch('Excel.Application')
workbook = excel.Workbooks.Open(r'C:\ltexSales.xlsx',False, True, None, 'password')
xlCSVWindows = 0x17
workbook.SaveAs(r'C:\ltexSales_decrypted.csv', FileFormat = xlCSVWindows, 
                Password = None)
workbook.Close()

import pandas as pd
df = pd.read_csv(r'C:\ltexSales_decrypted.csv')

所以现在你可以用 pandas 来阅读了。

额外:注意所有大写字母

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-16
    • 2018-12-18
    • 1970-01-01
    • 2013-11-09
    • 2011-02-06
    • 2021-03-07
    • 2010-11-24
    • 1970-01-01
    相关资源
    最近更新 更多