qq音速头像,有什么软件堪称办公神器?
有什么软件堪称办公神器,让你每天的工作轻松不累?其他作者已经介绍过很多的小软件,这里就不重复介绍了,各有各的好处,但我认为算不上办公神器,充其量也就是比较好用的办公文档小工具,凭什么这么说呢?因为我还有一个更加高效的办公神器,那就是python
一,说python是办公神器,那么,它能做什么(一)1、openpyxl的使用操作EXCEL
pip install openpyxl
第一步:打开工作簿(读取Excel文件中所有的数据保存为工作簿对象)
workbook = openpyxl.load_workbook('cases.xlsx')
第二步:选中表单对象
sheet = workbook['login']
第三步:通过表单选中表格读取数据
①读取内容(第五行第四列)
data = sheet.cell(row=5,column=4)printa(data.value) # 获取内容用value方法
②写入内容(保存才会生效)
sheet.cell(row=7,column=3,value='("Python","123456")')# 写入内容后,一定要保存才会生效workbook.save('cases.xlsx')
③获取最大行和最大列
# 最大行sheet.max_row# 最大列sheet.max_column
④按行获取所有的格子对象,每一行格子放入一个元组中
sheet.rows
注意点:不要随便在表格中敲空格
(二)、openpyxl的封装
导包
import openpyxl
封装
class ReadExcel(object):"""操作Excl文件"""def __init__(self, fileName, sheetName):""" 初始化方法 :param fileName: Excel文件名 :param sheetName: 表单名 """self.fileName = fileNameself.sheetName = sheetNamedef open(self):"""打开工作簿,选中表单"""self.wb = openpyxl.load_workbook(self.fileName)self.sh = self.wb[self.sheetName]def save(self):"""保存工作簿对象的方法"""self.wb.save(self.fileName)self.wb.close() # 这一行加不加关系不大,加了可以释放内存
1、读取数据
①将每条数据存储成字典类型
def read_data_dict(self):"""读取数据(将每条数据存储成字典类型)"""# 打开工作簿 self.open() # 通过rows获取Excel文件中所有的行数据,然后把数据转成列表 rows = list(self.sh.rows) # 表头 title = [] # 遍历Excel文件中的第一行表头信息 for i in rows[0]: title.append(i.value) # 用例数据列表 cases = [] # 遍历用例数据行 for row in rows[1:]: # 定义一个列表存放每一行的数据 data = [] # 遍历每一行的数据 for r in row: data.append(r.value) # 把每一行的数据通过zip进行打包,然后转成字典,存入到用例数据列表中 case = dict(zip(title, data)) cases.append(case) return cases
②将每条数据存储成CaseData类对象类型
class CaseData(object):"""保存用例数据类"""pass
def read_data_obj(self):"""读取数据(将数据保存到CaseData类中)"""self.open()rows = list(self.sh.rows)# 表头 title = [] # 遍历Excel文件中的第一行表头信息 for i in rows[0]: title.append(i.value) # 定义用例列表,用来存放用例类列表 cases = [] # 遍历用例数据行 for row in rows[1:]: # 定义一个列表存放每一行的数据 data = [] # 遍历每一行的数据 for r in row: data.append(r.value) # 把每一行的数据通过zip进行打包,然后转成字典,存入到用例数据列表中 case = dict(zip(title, data)) # 定义一个用例存放类对象 case_obj = CaseData() for k, v in case.items(): # 通过setattr()给对象添加属性 setattr(case_obj, k, v) # 把对象添加到列表中 cases.append(case_obj) return cases
2、写入数据
def write_data(self, row, column, value):""" 写入数据 :param row: 行 :param column: 列 :param value: 数据 """self.open()# 指定行列进行写入数据 self.sh.cell(row=row, column=column, value=value) # 保存 self.wb.save(self.fileName) # 关闭 self.wb.close()
python 使用 PyPDF2 和 pdfplumber 操作pdf文档1 说明
1.1 PyPDF2:使用它可以轻松的处理 pdf 文件,它提供了读,割,合并,文件转换等多种操作。
1.2 PyPDF2可以对PDF文件进行加密,解密,目前已经更新到PyPDF3版本,本文基于PyPDF2进行介绍。
1.3 环境:python3.8,deepin-linux操作系统,微软vscode编辑器。
2 安装
pip install PyPDF2#pip3.8 install PyPDF2 #本机安装
3 相关网址:
https://pythonhosted.org/PyPDF2/https://pypi.org/project/PyPDF2/1.26.0/https://github.com/mstamy2/PyPDF2/
4 PDF文件的合并,mergepdf.py代码如下:
#pdf文件合并=mergefrom PyPDF2 import PdfFileMergermerger = PdfFileMerger()#将3个pdf文件合并,注意路径和目录input1 = open("/home/xgj/Desktop/PyPDF2/1.pdf", "rb")input2 = open("/home/xgj/Desktop/PyPDF2/2.pdf", "rb")input3 = open("/home/xgj/Desktop/PyPDF2/3.pdf", "rb")#默认作为第一张,即position = 1,pages = (0,1)代表1.pdf的第一张,如果有很多张,注意取第几张到第几张merger.append(fileobj = input1, pages = (0,1))#与上面相同merger.merge(position = 2, fileobj = input2, pages = (0,1))# append entire input3 document to the end of the output document# 将3.pdf添加到上述的后面merger.append(input3)# Write to an output PDF document,生成新的pdfoutput = open("/home/xgj/Desktop/PyPDF2/document-output.pdf", "wb")merger.write(output)
5 拆分pdf文件,splitpdf.py代码
from PyPDF2 import PdfFileReader, PdfFileWriterdef split(path, name_of_split):pdf = PdfFileReader(path)for page in range(pdf.getNumPages()):pdf_writer = PdfFileWriter()pdf_writer.addPage(pdf.getPage(page))#拆分在根目录下#output = f'{name_of_split}{page}.pdf'#指定目录下output = f'/home/xgj/Desktop/PyPDF2/{name_of_split}{page}.pdf'with open(output, 'wb') as output_pdf:pdf_writer.write(output_pdf)if __name__ == '__main__':#要拆分的pdf文件及目录path = '/home/xgj/Desktop/PyPDF2/4.pdf'#注意name_of_split=NOsplit(path, 'NO')
6 pdf文件加密,jiamipdf.py代码
from PyPDF2 import PdfFileWriter, PdfFileReaderdef add_encryption(input_pdf, output_pdf, password):pdf_writer = PdfFileWriter()pdf_reader = PdfFileReader(input_pdf)for page in range(pdf_reader.getNumPages()):pdf_writer.addPage(pdf_reader.getPage(page))pdf_writer.encrypt(user_pwd=password, owner_pwd=None,use_128bit=True)with open(output_pdf, 'wb') as fh:pdf_writer.write(fh)if __name__ == '__main__':#input是需要加密的pdf文件和目录,output是生成加密的原pdf的新pdf文件 #自定义密码 add_encryption(input_pdf='/home/xgj/Desktop/PyPDF2/1.pdf', output_pdf='/home/xgj/Desktop/PyPDF2/1m.pdf',password='123456')
7 解密pdf文件
7.1 jiemipdf.py代码
import os#指定目录,即更改根目录的方法os.chdir('/home/xgj/Desktop/PyPDF2')from PyPDF2 import PdfFileReader,PdfFileWriterpdf_reader = PdfFileReader("1m.pdf")#知道密码情况下,注意是解密,不是破解密码pdf_reader.decrypt("123456")pdf_writer = PdfFileWriter()for page in range(pdf_reader.getNumPages()):pdf_writer.addPage(pdf_reader.getPage(page))with open("encrypted.pdf", "wb") as out:pdf_writer.write(out)
7.2 注意细节:适合批量解密pdf文件,并且自己知道密码。
7.3 注意代码简洁,导入os,提前设路径,顺带复习python的os模块的路径设置。
===========================
8 pdf加水印:watermarkpdf.py代码
from PyPDF2 import PdfFileReader, PdfFileWriter#安装:pip install reportlab,下次单独将这个模块from reportlab.lib.units import cmfrom reportlab.pdfgen import canvasimport reportlab.pdfbase.ttfonts# 创建水印信息def create_watermark(content):#生成一个单独的水印pdf,注意路径和目录file_name = "/home/xgj/Desktop/PyPDF2/mark.pdf"c = canvas.Canvas(file_name, pagesize=(30 * cm, 30 * cm))# 移动坐标原点(坐标系左下为(0,0))c.translate(4 * cm, 0 * cm)# 设置字体格式与大小,中文需要加载能够显示中文的字体,否则就会乱码,注意字体路径# 如果是中文就是trytry:reportlab.pdfbase.pdfmetrics.registerFont(reportlab.pdfbase.ttfonts.TTFont('yahei', 'hwfs.ttf'))c.setFont('yahei', 50)#如果是英文就是exceptexcept:# 默认字体,只能够显示英文c.setFont("Helvetica", 30)#这一行多次一举,注释掉#content = "I love python"# 旋转角度度,坐标系被旋转c.rotate(30)# 指定填充颜色c.setFillColorRGB(0, 0, 0)# 设置透明度,1为不透明c.setFillAlpha(0.05)# 画几个文本,注意坐标系旋转的影响c.drawString(0 * cm, 3 * cm, content)# 关闭并保存pdf文件c.save()return file_name# 插入水印def add_watermark(pdf_file_in, pdf_file_mark, pdf_file_out):pdf_output = PdfFileWriter()input_stream = open(pdf_file_in, 'rb')pdf_input = PdfFileReader(input_stream, strict=False)# 获取PDF文件的页数pageNum = pdf_input.getNumPages()# 读入水印pdf文件pdf_watermark = PdfFileReader(open(pdf_file_mark, 'rb'), strict=False)# 给每一页打水印for i in range(pageNum):page = pdf_input.getPage(i)page.mergePage(pdf_watermark.getPage(0))page.compressContentStreams() # 压缩内容pdf_output.addPage(page)pdf_output.write(open(pdf_file_out, 'wb'))if __name__ == '__main__':#需要加水印的pdf文件和目录pdf_file_in = '/home/xgj/Desktop/PyPDF2/123.pdf'#生成新的加过水印的pdf文件pdf_file_out = '/home/xgj/Desktop/PyPDF2/watermark.pdf'#设置加水印的文字内容:英文pdf_file_mark = create_watermark(r'I love python')#设置加水印的文字内容:中文#pdf_file_mark = create_watermark(r'水印')add_watermark(pdf_file_in, pdf_file_mark, pdf_file_out)
python 还可以使用 python-docx 操作 wordpython 使用 python-pptx 操作 PPTpython 如何自动收发邮件python 制作电话号码归属地查询工具当然,如果你不懂python编程很难感受这些好处,python最大的好处是批处理,比如修改几千份合同,大 数据处理。
还有另一款办公神器是思维导图软件思维导图近几年很火,原因就是它实用且功能强大,下面我们来看看思维导图有哪些功能。
第一,当然就是它的树形结构图,用来做做笔记,整理思路,讲课,可以很好的呈现一个人的思维路线路,例如,
第二,它还有很多功能模板,只要打开后直接编辑,非常的方便
第三,它很方便地导出各种文档格式。例如:导出为 Word、PPT、Excel等文档,便于后续所有人在此基础上修改和完善。
总之,这两款软件,也就是python和思维导图软件堪称办公神器,让你每天的工作轻松不累。
另外,
在工作中,我们通常不光追求工作轻松,最重要的是,能够升职加薪,如果你具备管理能力,你的个人价值和职场回报至少涨10倍。如果有需要的话,关注我或管理能力免费交流圈子,便于你第一时间看我们分享的管理经验。
神秘博士是什么物种?
博士(The Doctor)是一名来自Gallifrey的时间领主,他有两个心脏,在濒死时会通过重生延续生命,迄今为止,博士已经重生了13次,每一任博士的性格都有所不同,但都有着高的离谱的智商(从他使用音速起子的方式可以看出)和一颗善良的心。梦想是能有一头像11th的同伴AMY一样的红色(姜黄色)头发。
人们发现的ufo究竟是什么?
关于“UFO”,一直以来都是一个既神秘又满争议的话题。
“UFO”指的其实就是“不明飞行物”,最初源自于美军的“蓝皮书计划”。很多时候人们也会认为“UFO”指的就是飞碟。从“UFO”的字面意思来看,其并没有专门指代是外星人的飞碟,强调的主要是不明来历的飞行物体,所以说它既可能是外星飞船,也可能是未来人来穿越回来的飞船,其实也有可能是现代人类建造的不为人知的飞行器。
随着时间的推移,目前人们对于“UFO”的直观理解往往都是“外星飞船”,也正因如此,关于“UFO”的话题也就始终充满着争议。
一些所谓的目击者及支持者坚定地认为“UFO”是真实存在的,外星人也是真实存在的,一些人甚至还描绘过被“外星人”绑架的经历等等,也有很多影像资料现实确实存在着某种“不明飞行物”。
而有些人则是“UFO”的坚定反对者,这些人认为那些所谓的影像资料都是一些大气折射效果的假象,有些影像资料可能干脆就是人为造假的。这种情况也确实可以理解,有时候夜晚飞机的发动机喷口也可能看着很像是一个“UFO”,但实际上它只是我们再熟悉不过的飞机罢了。
由于双方都没有足够的证据去证明对方的说法是完全错误的,因此这个话题其实也就始终保有着争议,在短期内也不可能完全说清楚。
个人对于“UFO”的看法。从我个人的角度来说,我认为所谓的外星“UFO”应该是不存在的。当然我不否认外星人存在的可能性,我只是觉得目前大家所看见的“UFO”应该都不是来自于外星人,更不可能是来自于未来人类的穿越。
从我们目前对科技的认知来看,如果外星人具备了星际穿越的能力,那么我觉得这些外星人没理由如此的低调与神秘,它们的科技可能远远领先于我们,要是真的造访地球,我想应该并不会是现在这种状态。关于未来人类穿越的说法其实也不太可能,如果是真的也肯定会留下确凿的证据,而目前同样没有任何相应的证据能够证明其真实性。
以上个人意见仅供参考。
以色列战机再度成功空袭叙利亚基地?
简单说一下事件经过。4月9日,叙利亚国家媒体称,叙利亚中部空军基地遭导弹袭击,共8枚导弹,叙利亚拦截5枚,另3枚击中了T-4空军基地。根据法新社消息,针对叙利亚空军基地的导弹袭击已导致14人死亡,其中包括伊朗军人。阿拉伯叙利亚通讯社(SANA)报道称,被袭击的是位于叙利亚霍姆斯省的T4军事基地。
事件基本上就是这样,事后俄罗斯指责该袭击由美国发动,美国防部予以否认。而后俄罗斯媒体称,根据俄罗斯国防部消息:以色列一架F15在黎巴嫩上空发动了袭击。到底是谁发动了此次袭击?以色列国防部尚未对此次事件做任何正面回应,现在下结论,还有些早。
法国总统马克龙,声援库尔德武装,将出兵曼比季
俄军的防空导弹为什么没反应?
一、此次拦截就应该是俄军的功劳。
根据报道,成功进行拦截的是叙利亚的防空部队。叙利亚的老旧装备都能发现、拦截导弹,俄罗斯最新的防空系统S400无法发现、拦截?无法拦截还可理解,可能是系统不够成熟,但是雷达系统总不至于“看不见”吧?“睁眼瞎”?开玩笑。俄罗斯既然无法发现导弹,那又怎么确认是以色列一架F15,在黎巴嫩上空发动的袭击?以色列可没承认这事就是以色列干的。
就凭叙利亚能够拦截来袭导弹?根本不可能。叙利亚政府军连反政府武装、恐怖分子都无能为力,最惨的时候被打的就剩首都大马士革等有限地区了:无奈之下,邀请俄罗斯、伊朗等出兵相助。那些恐怖分子、反政府武装拥有的多为单兵装备、少量重型装备,空军更是没有,叙利亚政府军连这都打不过,还想拦截导弹?
俄、土、伊三方会谈
二、所有的防空战绩,包括击落以色列战机、拦截来袭导弹,为何都是叙利亚政府军的?俄罗斯总是藏在叙利亚身后,只怕是有俄罗斯自己的考量:不愿得罪以色列,更不希望以色列有借口参与叙利亚问题。
叙利亚局势刚刚有了解决的希望:东古塔战事已基本结束,土耳其也已控制阿夫林地区。整个形势,对美国来说是极为不利的。美国立刻宣布增兵曼比季,法国宣称支持库尔德武装,也将出兵曼比季。另外,美、英两国指责叙利亚政府使用化学武器,这无疑是给以后军事打击叙利亚政府制造借口。
此时俄罗斯更不愿以色列参与叙利亚问题,以色列是美国的铁杆“盟友”,对俄罗斯来说以色列一旦参与,俄罗斯就又多了一个敌人。
三、俄罗斯在叙利亚问题上往往从大局出发,并不在乎虚名。叙利亚首都大马士革,驻扎着俄军,这里的防空恐怕早已不再是叙利亚政府军的任务了:俄罗斯又怎么会把这样的重任交给叙利亚政府军?
四、所有的防空系统,包括俄罗斯的S400、美国的反导系统(近程、中程、远程),其拦截成功率远没有对外宣传的那么高——质量好、性能好,不如宣传的好。世界上根本就没有能够达到100%拦截成功率的防御系统,这也是俄罗斯不把美国在全球建立的反导防御系统放在眼里的最重要原因。
叙利亚局势对比图
神秘博士中博士到底是什么物种?
博士(The Doctor)是一名来自Gallifrey的时间领主,他有两个心脏,在濒死时会通过重生延续生命,迄今为止,博士已经重生了13次,每一任博士的性格都有所不同,但都有着高的离谱的智商(从他使用音速起子的方式可以看出)和一颗善良的心。
梦想是能有一头像11th的同伴AMY一样的红色(姜黄色)头发。