标签分类
技术文章
当前位置:主页 > 计算机编程 > python > python打开加密的excel代码

python打开机密软件加密的excel

  • 发布时间:
  • 作者:码农之家原创
  • 点击:120

python打开加密的excel代码

这篇文章主要知识点是关于python,加密,excel,代码,python打开加密的excel代码,python怎么读取excel python操作excel的方法 的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

Python3面向对象编程
  • 类型:Python3大小:10.1 MB格式:PDF出版:电子工业出版社作者:Dusty Phillips
立即下载

python win32com 读取带密码的excel

之前用到的win32com读取带密码excel的相关内容,今天刚好准备整理下,突然发现方法又不灵了。

以下为错误示范

# 已知excel密码去除
def del_password(filename, password):
    excel = DispatchEx("Excel.Application")  # 启动excel
    excel.Visible = True  # 可视化
    excel.DisplayAlerts = False  # 是否显示警告

    wb = excel.Workbooks.Open(filename, Password=password)  # 打开文件

这就神奇了,之前用着好好的呢?,没道理啊这么简单的打开,不就加个password参数?明明把密码参数给输入了,为什么还提示输入密码框?

(再重新看看微软bb的官方介绍)https://msdn.microsoft.com/zh-cn/VBA/Excel-VBA/articles/workbooks-open-method-excel,没毛病啊。

实在不行,找回以前写的。想起来有个问题,大家注意看不同,注意添加的几个参数。

(标红参数少一个不行,顺序没影响,但是这几个参数之间没有实在的联系啊,百思不得解。先mark下,有知道的大神指教下——之前也遇到过类似的方法只写一个参数不行,如有类似情况试着把参数写全再进行操作)

暂时只得到一个结论:说明win32com读取的excel操作不是严格按照python的位置参数,不是可有可无的,而是严格匹配。

以下为正确

# 已知excel密码去除
def del_password(filename, password):
    excel = DispatchEx("Excel.Application")  # 启动excel
    excel.Visible = visible  # 可视化
    excel.DisplayAlerts = displayalerts  # 是否显示警告

    wb = excel.Workbooks.Open(filename, UpdateLinks=False, ReadOnly=False, Format=None, Password=password, WriteResPassword=password)  # 打开文件

用python怎么打开带密码的excel啊?,密码是知道的,我在网上找到了两个包可以打开excel,分别是xlrd pyExcelerator。可是用它们打开带密码的excel就不知道怎么用了!!

import sys
import win32com.client

xlApp = win32com.client.Dispatch("Excel.Application")
print "Excel library version:", xlApp.Version
filename,password = 'C:myfilesfoo.xls', 'qwerty12'
xlwb = xlApp.Workbooks.Open("filename.xls", 2, True, None, None, "secret")

 

python怎么读取excel

python怎么读取excel

python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。下面记录python读取excel.

python读excel——xlrd

这个过程有几个比较麻烦的问题,比如读取日期、读合并单元格内容。下面先看看基本的操作:

首先读一个excel文件,有两个sheet,测试用第二个sheet,sheet2内容如下:

python怎么读取excel

python 对 excel基本的操作如下:

# -*- coding: utf-8 -*-import xlrd
import xlwtfrom datetime import date,datetimedef read_excel():    # 打开文件
    workbook = xlrd.open_workbook(r'F:\demo.xlsx')    # 获取所有sheet
    print workbook.sheet_names() # [u'sheet1', u'sheet2']
    sheet2_name = workbook.sheet_names()[1]    # 根据sheet索引或者名称获取sheet内容
    sheet2 = workbook.sheet_by_index(1) # sheet索引从0开始
    sheet2 = workbook.sheet_by_name('sheet2')    # sheet的名称,行数,列数
    print sheet2.name,sheet2.nrows,sheet2.ncols    # 获取整行和整列的值(数组)
    rows = sheet2.row_values(3) # 获取第四行内容
    cols = sheet2.col_values(2) # 获取第三列内容
    print rows    print cols    # 获取单元格内容
    print sheet2.cell(1,0).value.encode('utf-8')    print sheet2.cell_value(1,0).encode('utf-8')    print sheet2.row(1)[0].value.encode('utf-8')    
    # 获取单元格内容的数据类型
    print sheet2.cell(1,0).ctypeif __name__ == '__main__':
    read_excel()

运行结果如下:

python怎么读取excel

以上就是python怎么读取excel的详细内容,更多请关注码农之家其它相关文章!

python操作excel的方法

摘要:

Openpyxl是一个常用的python库,用于对Excel的常用格式及其模板进行数据读写等操作。

简介与安装openpyxl库

Openpyxl is a Python library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.

安装

pip install openpyxl

pillow:在文件中需要使用images (jpeg, png, bmp,...)时,需要安装pillow库。

注意:写操作时请关闭需要操作的excel文件,否则写不成功

加载xlsx操作内容

加载外部excel的xlsx步骤:

加载xlsx文件,获得该文件的句柄,为workbook

from openpyxl import load_workbook
wb2 = load_workbook('test.xlsx')
print wb2.get_sheet_names()
# ['Sheet2', 'New Title', 'Sheet1']

在内存中新建workbook

创建 workbook

开始使用openpyxl,没有必要在文件系统上创建一个文件。

只需要导入Workbook类并开始使用它。可以把wordbook想象成一个excel文件。

from openpyxl import Workbook
wb = Workbook()
workbook创建后至少至少要创建一个worksheet。使用 openpyxl.workbook.Workbook.active()
ws = wb.active

该方法使用了_active_sheet_index属性, 默认会设置0

创建worksheet

使用 openpyxl.workbook.Workbook.create_sheet() 创建新的worksheet

ws1 = wb.create_sheet("new_sheet_1") # 新建sheet,插入到最后(默认)
ws2 = wb.create_sheet("new_sheet_2", 0) # 插入到最开始的位置

指定worksheet的名称

不指定sheet名称时,按照sheet,sheet1,sheet2自动增长

ws3 = wb.create_sheet()

自定义worksheet名称,通过title属性指定名称,设置了sheet的名称

ws3.title = "new_sheet_3"

输出wb现在所有的sheetname查看

通过 openpyxl.workbook.Workbook.sheetnames() 输出wb现在所有的sheetname

print wb.get_sheet_names()
print(wb.sheetnames)

循环

for sheet in wb:
print(sheet.title)

指定worksheet tab按钮的颜色

新建的sheet tab颜色为白色,可以另外指定sheet tab按钮的颜色

ws3.sheet_properties.tabColor = "1072BA"

激活某个worksheet

通过worksheet名称激活某个sheet使用

名称看成workbook中的一个key

ws3 = wb["new_sheet_3"]

通过 _active_sheet_index 激活某个sheet使用

wb._active_sheet_index = 1 # 获取第二个sheet

创建worksheet副本

使用 openpyxl.workbook.Workbook.copy_worksheet() 创建worksheet副本

source = wb.active
target = wb.copy_worksheet(source)

只能复制cell和style。不能复制工作表之间的工作簿。

操作单元格

当worksheet在内存中被创建时,是没有包含cells的,cells是在首次访问时创建

单元格可以看作是worksheet的key,通过key去访问单元格中的数据

c = ws['A3'] # 访问单元格,不存在则会自动创建一个
print c.value
ws['A4'] = 'a4 value' # 指定单元格的值
print ws['A4'].value
d = ws.cell(row=4, column=2, value='通过cell指定') # 通过row column数字指定
print d.value

循环在内存中创建cells

不用指定其值也可以在内存中创建

for i in range(1, 10):
for j in range(1, 10):
ws.cell(row=i, column=j)

通过切片Ranges指定许多cells

cell_range = ws['A1':'C2']

也可以Ranges rows 或者columns

print ws['C']
print ws['C:D']
print ws[10]
print ws[5:10]

也可以使用iter_rows() 指定行->行,截止列

for row in ws.iter_rows(min_row=1, max_col=3, max_row=2):
for c in row:
print(c)
iter_cols() 指定列->列,截止行
for row in ws.iter_rows(min_row=1, max_col=3, max_row=2):
for c in row:
print(c)

遍历所有文件的行或列

ws['C9'] = 'hello world'
tuple(ws.rows) # 转化成tuple方便for in操作
tuple(ws.columns)

保存文件

wb = Workbook()
wb.save("assets/sample.xlsx")

此操作将覆盖现有的文件没有警告。

所有的操作都需要保存到excel才能看见

保存为模板

指定属性 as_template=True ,就可以将文档保存为模板.xltx

wb = load_workbook('document.xlsx')
wb.template = True
wb.save('document_template.xltx')

或者将该属性设置为False(默认),另存为一个文档:

wb = load_workbook('document_template.xltx')
wb.template = False
wb.save('document.xlsx', as_template=False)

使用公式

wb = load\_workbook\('assets/sample.xlsx'\)
ws = wb.active
ws\["A5"\] = "=SUM\(2, 1\)"
wb.save\("assets/sample.xlsx"\)

总结

以上所述是小编给大家介绍的python操作excel的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对码农之家网站的支持!

以上就是本次给大家分享的全部知识点内容总结,大家还可以在下方相关文章里找到vue项目中使用md5加密以及、 儿童python编程入门书籍推、 解决axios.interceptors.respon、 等python文章进一步学习,感谢大家的阅读和支持。

上一篇:浅析python爬取100与爬10的区别

下一篇:python list输出最后10个元素

展开 +

收起 -

学习笔记
网友NO.475842

使用Python横向合并excel文件的实例

起因: 有一批数据需要每个月进行分析,数据存储在excel中,行标题一致,需要横向合并进行分析。 数据示意: 具有多个 代码: # -*- coding: utf-8 -*-"""Created on Sun Nov 12 11:19:03 2017@author: Li Ying"""#读取第一列作为合并后表格的第一列from pandas import read_csvdf = read_csv(r'E:\excel\vb\excel1.csv',header=None)sample_name = df[0] file="combine"filedestination = "E://excel//"import glob #from numpy import * filearray=[] for filename in glob.glob(r'E:\excel\*.xlsx'): filearray.append(filename) #以上是从excel 文件夹下读取所有excel表格,并将所有的名字存储到列表filearray print("在默认文件夹下有%d个文档哦"%len(filearray)) ge=len(filearray) matrix = [None]*ge #实现读写数据 #下面是将所有文件读数据到三维列表cell[][][]中(不包含表头) import xlrdfor i in range(ge): fname=filearray[i] bk=xlrd.open_workbook(fname) try: sh=bk.sheet_by_name("Sheet1") except: print ("在文件%s中没有找到sheet1,读取文件数据失败,要不你换换表格的名字?" %fname) ncols=sh.ncols matrix[i] = [0]*(ncols-1) nrows=sh.nrows for m in range(ncols-1): matrix[i][m] = ["0"]*nrows for k in range(1,ncols): for j in range(0,nrows): matrix[i][k-1][j]=sh.cell(j,k).value import xlwt filename=xlwt.Workbook() sheet=filename.add_sheet("hel") #下面是把第一列写上 for i in range(0,len(sample_name)): sheet.write(i,0,sample_name[i]) #求和前面的文件一共写了多……

网友NO.850585

python如何读取excel

python 读取excel可分为以下几步:首先安装excel库xlrd,然后获取excel文件位置并读取,最后读取sheet和指定的rows和cols内容 今天将要介绍的是如何通过Python语言来读取excel文件,具有一定的参考作用,希望对大家有所帮助。 【推荐课程: Python教程 】 Python语言来读取excel文件,分为以下几个操作步骤: (1)首先安装python官方Excel库--xlrd (2)获取Excel文件位置并读取 (3)读取sheet (4)读取指定rows和cols内容 例: # -*- coding: utf-8 -*-import xlrdfrom datetime import date,datetimedef read_excel():#文件位置ExcelFile=xlrd.open_workbook(r'C:\Users\Administrator\Desktop\TestData.xlsx')#获取目标EXCEL文件sheet名print ExcelFile.sheet_names()#------------------------------------#若有多个sheet,则需要指定读取目标sheet例如读取sheet2#sheet2_name=ExcelFile.sheet_names()[1]#------------------------------------#获取sheet内容【1.根据sheet索引2.根据sheet名称】#sheet=ExcelFile.sheet_by_index(1)sheet=ExcelFile.sheet_by_name('TestCase002')#打印sheet的名称,行数,列数print sheet.name,sheet.nrows,sheet.ncols#获取整行或者整列的值rows=sheet.row_values(2)#第三行内容cols=sheet.col_values(1)#第二列内容print cols,rows#获取单元格内容print sheet.cell(1,0).value.encode('utf-8')print sheet.cell_value(1,0).encode('utf-8')print sheet.row(1)[0].value.encode('utf-8')#打印单元格内容格式print sheet.ce……

网友NO.385260

python 读写excel文件操作示例【附源码下载】

本文实例讲述了python 读写excel文件操作。分享给大家供大家参考,具体如下: 对excel文件的操作,python有第三方的工具包支持,xlutils,在这个工具包中包含了xlrd,xlwt等工具包.利用这些工具,可以方便的对excel 进行操作。 1. 下载 xlutils : http://pypi.python.org/pypi/xlutils 2. 安装,解压下载文件之后,可以 python setup.py install 3. 应用(生成EXCEL,遍历EXCEL,修改EXCEL,属性控制,日期控制等)。 1) 创建 EXCEL 文件 from tempfile import TemporaryFilefrom xlwt import Workbookbook = Workbook()sheet1 = book.add_sheet('Sheet 1')book.add_sheet('Sheet 2')sheet1.write(0,0,'A1')sheet1.write(0,1,'B1')row1 = sheet1.row(1)row1.write(0,'A2')row1.write(1,'B2')sheet1.col(0).width = 10000sheet2 = book.get_sheet(1)sheet2.row(0).write(0,'Sheet 2 A1')sheet2.row(0).write(1,'Sheet 2 B1')sheet2.flush_row_data()sheet2.write(1,0,'Sheet 2 A3')sheet2.col(0).width = 5000sheet2.col(0).hidden = Truebook.save('simple.xls')book.save(TemporaryFile()) 这样就生成了simple.xls 文件. 2) 循环遍历EXCEL文件 import xlrdimport xlutils.copyimport osif __name__ == '__main__': wb = xlrd.open_workbook('simple.xls') for s in wb.sheets(): print 'Sheet:',s.name for row in range(s.nrows): values = [] for col in range(s.ncols): values.append(s.cell(row,col).value) print ','.join(values) print 遍历整个excel 并打印出数据 3) 修改EXCEL import xlrdimport xlutils.copyimport osif __name__ == '__main__': templat……

网友NO.201980

python如何处理excel数据

python主要是使用第三方模块库xlrd、xlwt、xluntils、pyExcelerator和Pandas来处理excel文件数据。 这里有一张excel数据表,下面我们通过示例来看看xlrd、xlwt、xluntils、pyExcelerator和Pandas是如何处理excel文件数据的。【视频教程推荐:python教程】 方法一:使用xlrd来处理excel数据 示例1:python读取excel文件特定数据 import xlrddata = xlrd.open_workbook('test.xls') # 打开xls文件table = data.sheets()[0] # 打开第一张表nrows = table.nrows # 获取表的行数# 循环逐行输出for i in range(nrows): if i == 0: # 跳过第一行 continue print table.row_values(i)[:13] # 取前十三列数据 示例2:python读取excel文件所有数据 import xlrd#打开一个xls文件workbook = xlrd.open_workbook('test.xls')#抓取所有sheet页的名称worksheets = workbook.sheet_names()print('worksheets is %s' %worksheets)#定位到sheet1worksheet1 = workbook.sheet_by_name(u'Sheet1')#通过索引顺序获取worksheet1 = workbook.sheets()[0]#或worksheet1 = workbook.sheet_by_index(0)#遍历所有sheet对象for worksheet_name in worksheets:worksheet = workbook.sheet_by_name(worksheet_name)#遍历sheet1中所有行rownum_rows = worksheet1.nrowsfor curr_row in range(num_rows):row = worksheet1.row_values(curr_row)print('row%s is %s' %(curr_row,row))#遍历sheet1中所有列colnum_cols = worksheet1.ncolsfor curr_col in range(num_cols):col = worksheet1.col_values(curr_col)print('col%s is %s' %(curr_col,col))#遍历……

<
1
>

Copyright 2018-2019 xz577.com 码农之家

版权责任说明