Python自动化办公:pdf文档操作
在后台回复【阅读书籍】
即可获取python相关电子书~
Hi,我是山月。
之前给大家介绍了python处理excel、word、ppt的相关教程,不知道大家学的怎么样?
在后台回复【自动化办公】即可查看全部自动化办公教程哦~
今天来给大家介绍下python处理pdf文档的一个库--PyPDF2。
PyPDF2 是源自 pyPdf 项目的纯 Python PDF 工具包。它擅长处理PDF文档本身,比如对 PDF 文档进行分割、 合并、 插入等操作。
官网:https://pythonhosted.org/PyPDF2/index.html
安装:pip install pypdf2
01
基础知识
PyPDF2 一共有4大主模块:PdfFileReader、PdfFileWriter、PdfFileMerger、PageObject,分别是读、写、合并、页面对象。
1、PdfFileReader
1、导入
from PyPDF2 import PdfFileReader
2、获取 PdfFileReader 对象
PdfFileReader(stream, strict=True, warndest=None, overwriteWarnings=True)参数:
stream : 一个 File 对象或支持类似于 File 对象的标准读取和查找方法的对象。也可以是表示 PDF 文件路径的字符串。
strict (bool) : 确定是否应该警告用户所有的问题,也会导致一些可纠正的问题是致命的。默认值为True。
warndest : 记录警告的目标(默认为 sys.stderr)。
overwriteWarnings (bool) :确定是否使用自定义实现覆盖 Python 的 warnings.py 模块(默认为 True)。
比如想读取将进酒.pdf内容:
pdfFileReader = PdfFileReader(open('将进酒.pdf', 'rb')) # 获取PdfileReader对象
# 也可以:pdfFileReader = PdfFileReader('将进酒.pdf')
3、一些方法与属性
4、实例
现在有一个2页的将进酒.pdf文件:
from PyPDF2 import PdfFileReader
pdfFileReader = PdfFileReader(open('将进酒.pdf', 'rb'))documentInfo = pdfFileReader.documentInfo
print(documentInfo) # 检索文档信息
'''
{'/Author': '是山月呀', '/Comments': '', '/Company': '', '/CreationDate': "D:20220312161040+08'10'",
'/Creator': 'WPS 文字', '/Keywords': '', '/ModDate': "D:20220314130926+08'00'", '/Producer': '',
'/SourceModified': "D:20220312161040+08'10'", '/Subject': '', '/Title': '', '/Trapped': '/False'}
'''
print(documentInfo.author) # 检索文档的作者--->> 是山月呀pages = pdfFileReader.numPages #计算文件的页数
print(pages) # --->> 2page = pdfFileReader.getPage(1) #检索第2页页面
print(page)
'''
{'/Type': '/Page', '/Parent': IndirectObject(2, 0), '/MediaBox': [0, 0, 595.276, 841.89], '/Rotate': 0,
'/Resources': {'/Font': {'/KSPF1': IndirectObject(29, 0), '/KSPF2': IndirectObject(31, 0)}}, '/Contents': IndirectObject(33, 0)}
'''pageLayout = pdfFileReader.pageLayout # 获取页面布局
print(pageLayout) # --->> Noneis_Encrypted = pdfFileReader.isEncrypted # 判断是否加密
print(is_Encrypted) # --->> False
2、PdfFileWriter
1、导入
from PyPDF2 import PdfFileWriter
2、初始化PdfFileReader 对象
PdfFileWriter = PdfFileWriter()
3、一些方法与属性
1、文件写入
write(stream)参数:
stream:要将文件写入的对象。
2、添加页面
addPage(page)参数:
page:要添加到文档的页面,应该是 PageObject 的一个实例
3、添加空白页
addBlankPage(width=None, height=None)参数:
width (float) – 页面的宽度。
height (float) –页面的高度。如果未指定页面大小,则使用最后一页的大小。
如果未指定页面大小并且上一页不存在,则会引发PageSizeNotDefinedError。
4、添加书签
addBookmark(title, pagenum, parent=None, color=None, bold=False, italic=False, fit='/Fit', *args)参数:
title (str): 用于此书签的标题。
pagenum (int) :此书签将指向的页码。
parent :对父书签的引用以创建嵌套书签。
color (tuple) : 书签的颜色为从 0.0 到 1.0 的红、绿、蓝元组
bold (bool):书签为粗体
italic (bool) :书签是斜体
fit (str) : 目标页面的适合度。
5、写入读取的文档
appendPagesFromReader(reader, after_page_append=None)参数:
reader: 一个 PdfFileReader 对象
after_page_append (function):调用的回调函数
6、加密
encrypt(user_pwd, owner_pwd=None, use_128bit=True)参数:
user_pwd (str) : “用户密码”,允许在提供的限制下打开和阅读 PDF 文件。
owner_pwd (str) : “所有者密码”,允许不受任何限制地打开 PDF 文件。默认情况下,所有者密码与用户密码相同。
use_128bit (bool) : 标记是否使用 128 位加密,默认为True。为 false 时,将使用 40 位加密。
7、插入空白页
insertBlankPage(width=None, height=None, index=0)参数:
width (float) :页面的宽度。
height (float) :页面的高度。
index (int) :添加页面的位置。如果未指定页面大小,则使用最后一页的大小。
如果未指定页面大小并且上一页不存在,则会引发 PageSizeNotDefinedError
8、插入页面
insertPage(page, index=0)参数:
page (PageObject): 要添加到文档的页面,该参数是 PageObject 的一个实例。
index (int) :将插入页面的位置。
9、获取页数
getNumPages()
10、按页码检索页面
getPage(pageNumber)参数:
pageNumber (int) :要检索的页码(从0开始)
11、设置页面布局
setPageLayout(layout)参数:
layout (str):要使用的页面布局。但是设置了没有发生作用。可设置的布局有:
/NoLayout: 未指定布局
/SinglePage: 一次显示一页
/OneColumn: 一次显示一列
/TwoColumnLeft: 分两列显示页面,奇数页在左边
/TwoColumnRight: 分两列显示页面,奇数页在右边
/TwoPageLeft: 一次显示两页,奇数页在左边
/TwoPageRight: 一次显示两页,奇数页在右边
12、获取页面布局
getPageLayout()
# 也可以:
pageLayout
13、设置页面模式
setPageMode(mode)参数:
mode (str) :要使用的页面模式。但是设置了没有发生作用。可设置的页面模式有:
/UseNone: 不显示面板
/UseOutlines: 查看文档书签
/UseThumbs: 查看文档缩略图
/UseAttachments: 查看文件附件
/FullScreen: 全屏视图
/UseOC: 显示可选内容组 (OCG)
14、获取页面模式
getPageMode()
# 也可以:
pageMode
15、删除图像
removeImages(ignoreByteStringObject=False)参数:
ignoreByteStringObject (bool) :忽略 ByteString 对象的可选参数。
16、删除文字
removeText(ignoreByteStringObject=False)参数:
ignoreByteStringObject (bool) :忽略 ByteString 对象的可选参数。
17、删除链接和注释
removeLinks()
3、PdfFileMerger
1、导入
from PyPDF2 import PdfFileMerger
2、获取PdfFileMerger 对象
PdfFileMerger(strict=True)参数:
strict (bool) – 确定是否应该警告用户所有的问题,也会导致一些可纠正的问题是致命的。默认值为True。
3、一些方法与属性
1、合并
merge(position, fileobj, bookmark=None, pages=None, import_bookmarks=True)参数:
position (int):插入此文件的页码,文件将在给定编号之后插入。
fileobj:文件对象或支持类似于文件对象的标准读取和查找方法的对象,也可以是表示 PDF 文件路径的字符串。
bookmark (str):可以通过提供书签的文本来指定要在包含文件的开头应用的书签。
pages : 指定要合并的的页面范围,可以是Range 或 (start, stop[, step]) 元组
import_bookmarks (bool) : 可以通过将其指定为 False 来阻止导入源文档的书签。
2、附加
append(fileobj, bookmark=None, pages=None, import_bookmarks=True)参数:
fileobj:文件对象或支持类似于文件对象的标准读取和查找方法的对象,也可以是表示 PDF 文件路径的字符串。
bookmark (str):可以通过提供书签的文本来指定要在包含文件的开头应用的书签。
pages : 指定要合并的的页面范围,可以是Range 或 (start, stop[, step]) 元组
import_bookmarks (bool) : 可以通过将其指定为 False 来阻止导入源文档的书签。
3、添加书签
addBookmark(title, pagenum, parent=None)参数:
title (str) : 用于此书签的标题。
pagenum (int): 此书签将指向的页码。
parent:对父书签的引用以创建嵌套书签。
4、文件写入
write(fileobj)参数:
fileobj : 输出文件。可以是文件名或任何类型的类似文件的对象。
5、设置页面布局
setPageLayout(layout)参数:
layout (str) : 要使用的页面布局
6、设置页面模式
setPageMode(mode)参数:
mode (str): 要使用的页面模式。
4、PageObject
页面对象一般是通过访问 PdfFileReader 的 getPage() 方法创建的。
1、几个页面大小属性
1、artBox
一个 RectangleObject,以默认用户空间单位表示,定义页面创建者所期望的页面有意义内容的范围。
2、bleedBox
一个 RectangleObject,以默认用户空间单位表示,定义在生产环境中输出时页面内容应剪切到的区域。
3、cropBox
一个 RectangleObject,以默认用户空间单位表示,定义默认用户空间的可见区域。
当页面被显示或打印时,其内容将被剪裁(裁剪)到这个矩形,然后以某种实现定义的方式施加到输出介质上。
默认值:与 mediaBox 相同。
4、mediaBox
一个 RectangleObject,以默认用户空间单位表示,定义了要在其上显示或打印页面的物理介质的边界。
5、trimBox
一个 RectangleObject,以默认用户空间单位表示,定义修剪后完成页面的预期尺寸。
2、合并页面
1、合并页面
mergePage(page2)参数:
page2 (PageObject):要合并到此页面的页面,是 PageObject 的一个实例。
2、合并旋转页面
mergeRotatedPage(page2, rotation, expand=False)参数:
page2 (PageObject) :要合并到此页面的页面,是 PageObject 的一个实例。
rotation (float) :旋转的角度,以度为单位
expand (bool) :是否应扩展页面以适应要合并的页面的尺寸。
3、合并旋转缩放页面
mergeRotatedScaledPage(page2, rotation, scale, expand=False)参数:
page2 (PageObject): 要合并到此页面的页面,是 PageObject 的一个实例。
rotation (float): 旋转的角度,以度为单位
scale (float): 比例因子
expand (bool) :是否应扩展页面以适应要合并的页面的尺寸。
4、合并旋转缩放平移页面
mergeRotatedScaledTranslatedPage(page2, rotation, scale, tx, ty, expand=False)参数:
page2 (PageObject) : 要合并到此页面的页面,是 PageObject 的一个实例。
tx (float) :X轴平移
ty (float) :Y轴平移
rotation (float) :旋转的角度,以度为单位
scale (float) : 比例因子
expand (bool) :是否应扩展页面以适应要合并的页面的尺寸。
5、合并旋转平移页面
mergeRotatedTranslatedPage(page2, rotation, tx, ty, expand=False)参数:
page2 (PageObject): 要合并到此页面的页面,是 PageObject 的一个实例。
tx (float) :X轴平移
ty (float) :Y轴平移
rotation (float) :旋转的角度,以度为单位
expand (bool) : 是否应扩展页面以适应要合并的页面的尺寸。
6、合并缩放页面
mergeScaledPage(page2, scale, expand=False)参数:
page2 (PageObject) :要合并到此页面的页面,是 PageObject 的一个实例。
scale (float) :比例因子
expand (bool) :是否应扩展页面以适应要合并的页面的尺寸。
7、合并缩放平移页面
mergeScaledTranslatedPage(page2, scale, tx, ty, expand=False)参数:
page2 (PageObject) : 要合并到此页面的页面,是 PageObject 的一个实例。
scale (float) :比例因子
tx (float) :X轴平移
ty (float) :Y轴平移
expand (bool) : 是否应扩展页面以适应要合并的页面的尺寸。
8、合并转换页面
mergeTransformedPage(page2, ctm, expand=False)参数:
page2 (PageObject): 要合并到此页面的页面,是 PageObject 的一个实例。
ctm (tuple):包含转换矩阵操作的6元元组
expand (bool) :是否应扩展页面以适应要合并的页面的尺寸。
9、合并平移页面
mergeTranslatedPage(page2, tx, ty, expand=False)参数:
page2 (PageObject) :要合并到此页面的页面,是 PageObject 的一个实例。
tx (float) :X轴平移
ty (float) :Y轴平移
expand (bool) :是否应扩展页面以适应要合并的页面的尺寸。
3、旋转
1、顺时针旋转
rotateClockwise(angle)参数:
angle (int) : 旋转页面的角度,必须是 90 度的增量。
2、逆时针旋转
rotateCounterClockwise(angle)参数:
angle (int):旋转页面的角度,必须是 90 度的增量。
4、缩放
1、x、y轴分别缩放
scale(sx, sy)参数:
sx (float):水平轴上的比例因子。
sy (float) : 垂直轴上的比例因子。
2、x、y轴同时缩放
scaleBy(factor)参数:
factor (float): 比例因子(对于 X 和 Y 轴)。
3、缩放到指定尺寸
scaleTo(width, height)参数:
width (float):新的宽度
height (float): 新的高度
02
实例
1、添加水印
有一个将进酒.pdf文件:
现在要给它加上水印,要如何实现呢?
1、文字水印
新建一个pdf水印文件,里面是要加的水印文字,如:
代码实现:
from PyPDF2 import PdfFileReader, PdfFileWriter # 导入读、写模块
PdfFileWriter = PdfFileWriter() # 获取PdfFileWriter对象pdf_file = PdfFileReader(open('将进酒.pdf', 'rb')) # 要添加水印的文档
num_pages = pdf_file.getNumPages() # 获取pdf文件的页数for i in range(num_pages):first_page = pdf_file.getPage(i) # 获取文件的第i+1页text_watermark = PdfFileReader(open('文字.pdf', 'rb')) # 文字水印文档page_watermark = text_watermark.getPage(0) # 获取pdf文件第1页页面page_watermark.mergePage(first_page) # 合并两个页面PdfFileWriter.addPage(page_watermark) # 把合并后的页面写入pdf文件PdfFileWriter.write(open('实例.pdf', 'wb')) # 保存pdf文件
效果:
2、图片水印
添加图片水印与添加文字水印是一样的操作。
新建一个图片水印文件:
然后把代码里的文字水印文件改成图片水印文件:
from PyPDF2 import PdfFileReader, PdfFileWriter # 导入读、写模块
PdfFileWriter = PdfFileWriter() # 获取PdfFileWriter对象pdf_file = PdfFileReader(open('将进酒.pdf', 'rb')) # 要添加水印的文档
num_pages = pdf_file.getNumPages() # 获取pdf文件的页数for i in range(num_pages):first_page = pdf_file.getPage(i) # 获取文件的第i+1页text_watermark = PdfFileReader(open('图片.pdf', 'rb')) # 图片水印文档page_watermark = text_watermark.getPage(0) # 获取pdf文件第1页页面page_watermark.mergePage(first_page) # 合并两个页面PdfFileWriter.addPage(page_watermark) # 把合并后的页面写入pdf文件PdfFileWriter.write(open('实例.pdf', 'wb')) # 保存pdf文件
效果:
2、PDF合并
现在有两个pdf文件:将进酒.pdf、梦游天姥吟留别.pdf。
合并两个文档的代码实现:
from PyPDF2 import PdfFileMergerPdfFileMerger = PdfFileMerger()PdfFileMerger.append('将进酒.pdf') # 附加将进酒.pdf内容
PdfFileMerger.append('梦游天姥吟留别.pdf') # 附加梦游天姥吟留别.pdf内容PdfFileMerger.write(open('实例.pdf', 'wb'))
效果:
3、PDF插入
以我们刚刚的两个文件:将进酒.pdf、梦游天姥吟留别.pdf为例。
假如我们现在需要,在将进酒.pdf第一页的后面插入梦游天姥吟留别.pdf的文档内容,要如何实现呢?
代码实现:
from PyPDF2 import PdfFileMergerPdfFileMerger = PdfFileMerger()PdfFileMerger.merge(0, '将进酒.pdf')
PdfFileMerger.merge(1, '梦游天姥吟留别.pdf')PdfFileMerger.write(open('实例.pdf', 'wb'))
效果:
4、PDF分割
假设我们现在有这样一个文件:数据.pdf,它一共有6页:
现在我们把它两页两页的分割成一个文档,也就是一共分成三个文档。
代码实现:
from PyPDF2 import PdfFileReader,PdfFileWriterpdfFileReader = PdfFileReader('数据.pdf') # 获取 PdfFileReader 对象
num_pages = pdfFileReader.getNumPages() # 获取页数for i in range(0,num_pages,2):pdfFileWriter = PdfFileWriter()page_Obj = pdfFileReader.getPage(i) # 获取第i+1页页面pdfFileWriter.addPage(page_Obj) # 添加读取的第i+1页页面page_Obj = pdfFileReader.getPage(i+1) # 获取第i+2页页面pdfFileWriter.addPage(page_Obj) # 添加读取的第i+2页页面outfile = '第%s页--第%s页.pdf'%(i+1,i+2)pdfFileWriter.write(open(outfile, 'wb'))
效果:
5、PDF删除页面
一样的,我们以数据.pdf文件为例,现在我们来删除第3页的内容。
代码实现:
from PyPDF2 import PdfFileReader,PdfFileWriterpdfFileReader = PdfFileReader('数据.pdf') # 获取 PdfFileReader 对象
num_pages = pdfFileReader.getNumPages() # 获取页数pdfFileWriter = PdfFileWriter()for i in range(num_pages):if i != 2: page_Obj = pdfFileReader.getPage(i) # 获取第i+1页页面pdfFileWriter.addPage(page_Obj) # 添加读取的第i+1页页面outfile = '实例.pdf'
pdfFileWriter.write(open(outfile, 'wb'))
效果:
6、PDF提取页面
一样的,我们以数据.pdf文件为例,现在我们来提取第3页的内容,并另存为一个新文件。
代码:
from PyPDF2 import PdfFileReader,PdfFileWriterpdfFileReader = PdfFileReader('数据.pdf') # 获取 PdfFileReader 对象
num_pages = pdfFileReader.getNumPages() # 获取页数pdfFileWriter = PdfFileWriter()for i in range(num_pages):if i == 2: page_Obj = pdfFileReader.getPage(i) # 获取第i+1页页面pdfFileWriter.addPage(page_Obj) # 添加读取的第i+1页页面outfile = '实例.pdf'
pdfFileWriter.write(open(outfile, 'wb'))
效果:
7、PDF旋转页面
我们把将进酒.pdf文档顺时针旋转90°。
代码:
from PyPDF2 import PdfFileReader,PdfFileWriterpdfFileReader = PdfFileReader('将进酒.pdf') # 获取 PdfFileReader 对象
num_pages = pdfFileReader.getNumPages() # 获取页数pdfFileWriter = PdfFileWriter()for i in range(num_pages):page_Obj = pdfFileReader.getPage(i) # 获取第i+1页页面page_Obj.rotateClockwise(90) # 顺时针旋转90°pdfFileWriter.addPage(page_Obj) # 添加读取的第i+1页页面outfile = '实例.pdf'
pdfFileWriter.write(open(outfile, 'wb'))
效果:
8、PDF拼接页面
我们以数据.pdf为例,假设我们现在需要把前4页的页面,拼接到一个页面上去,如何实现呢?
代码实现:
from PyPDF2 import PdfFileReader, PdfFileWriterPdfFileWriter = PdfFileWriter()
pdfFileReader = PdfFileReader(open('数据.pdf', 'rb'))page_1 = pdfFileReader.getPage(0) # 获取第1页页面
page_1.scaleTo(100, 150) # 页面缩放至宽100,高150page_2 = pdfFileReader.getPage(1) # 获取第2页页面
page_2.scaleTo(100, 150) # 页面缩放至宽100,高150page_3 = pdfFileReader.getPage(2) # 获取第3页页面
page_3.scaleTo(100, 150) # 页面缩放至宽100,高150page_4 = pdfFileReader.getPage(3) # 获取第4页页面
page_4.scaleTo(100, 150) # 页面缩放至宽100,高150page_1.mergeTranslatedPage(page_2, 100, 0, expand=True) # 拼接页面
page_1.mergeTranslatedPage(page_3, 0, -150, expand=True) # 拼接页面
page_1.mergeTranslatedPage(page_4, 100, -150, expand=True) # 拼接页面PdfFileWriter.addPage(page_1)
PdfFileWriter.write(open('实例.pdf', 'wb'))
效果:
9、PDF加密解密
1、加密
from PyPDF2 import PdfFileReader,PdfFileWriterpdfFileReader = PdfFileReader('将进酒.pdf') # 获取 PdfFileReader 对象
num_pages = pdfFileReader.getNumPages() # 获取页数pdfFileWriter = PdfFileWriter()for i in range(num_pages): page_Obj = pdfFileReader.getPage(i) # 获取第i+页页面pdfFileWriter.addPage(page_Obj) # 添加读取的第i+1页页面pdfFileWriter.encrypt('123456') # 加密
outfile = '实例.pdf'
pdfFileWriter.write(open(outfile, 'wb'))
效果:
如果这个时候我们操作文件的话,会报错:
2、解密
from PyPDF2 import PdfFileReader
pdfFileReader = PdfFileReader('实例.pdf') # 获取 PdfFileReader 对象is_encrypted = pdfFileReader.isEncrypted # 判断是否加密
print(is_encrypted) #-->> Trueis_password = pdfFileReader.decrypt('123456')
print(is_password) #-->> 1is_encrypted = pdfFileReader.isEncrypted # 判断是否加密
print(is_encrypted) #-->> Truenum_pages = pdfFileReader.getNumPages() # 获取页数
print(num_pages) #-->> 2
好啦,关于PyPDF2的内容我们就讲到这。
当然,对于PyPDF2的操作更多是在文档本身上,因此如果想对文档内容进行操作的话,得另找它路。这个我们就下次再分享啦。
关注
Python自动化办公:pdf文档操作相关推荐
- python自动化办公模块有哪些-Python 自动化办公|Word文档
[Python 自动化办公]专栏是介绍如何利用python办公,减少工作负荷.篇幅精炼,内容易懂,无论是否有编程基础,都非常适合. 在上次文章中,我们学习了[用python写入excel],这次我们学 ...
- Py自动化办公—Word文档替换、Excel表格读取、Pdf文件生成和Email自动邮件发送实战案例...
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 平阳歌舞新承宠,帘外春寒赐锦袍. ...
- 用Python提取解析pdf文档中内容
用Python提取解析pdf文档中内容 文章目录: 参考: 1.https://blog.csdn.net/tmaczt/article/details/82876018 # Tika库 2.http ...
- 【python自动化办公03】word操作-文档内容替换
点击上方"AI搞事情"关注我们 有时候,我们需要将word中特定的内容进行批量替换为新的内容,那么如何应用python win32com 实现word文档内容的批量替换呢?下面就介 ...
- 高效办公!Python 批量生成PDF文档
日常办公中,经常会使用PDF文档,难免需要对PDF文档进行编辑,有时候PDF文档中的大部分内容都是一样的,只是发送对象不同. 这种模板套用的场景下,使用Python进行自动化就尤为方便,用最短的时间办 ...
- 【python自动化办公02】word操作-word转pdf
点击上方"AI搞事情"关注我们 清明 Python调用Win32com实现Office批量转PDF https://www.cnblogs.com/lolipop2019/p/14 ...
- python轻松生成pdf文档
前言 python对办公一族来说,是个提高办公效率的得力利器.熟练使用它,可以轻松完成很多繁杂的事情.(文末送读者福利) 它可以轻松地操作Word.Excel.PDF这种文档. 相比较C#.C++等其 ...
- Python自动化办公:word文件操作教程
在后台回复[阅读书籍] 即可获取python相关电子书~ Hi,我是山月. 之前给大家完整的介绍了用python操作excel的几个库:xlrd.xlwt.openpyxl. 山月也已经整理好了,还没 ...
- 使用Python互转pdf文档和word文档
1 前言 一日,欲将手头上的一份pdf文档转换成word文档.先试着用XX办公软件试了下,微信扫码登录后,在PDF转换界面,选中文档,点击"开始转换",弹出提示对话框:免费的只给转 ...
最新文章
- 在 Java Web 项目中,Service 层和 Dao 层真的有必要每个类都加上接口吗
- CEGUI Lua 编码
- FPGA_进阶篇开篇
- php制作留言板的题_PHP实现留言板功能实例代码
- XML解析之JAXP案例详解
- python异步asy_Python 异步编程之asyncio【转载】
- python数据批量写入iq数据库_通过Load table命令将数据文件加载到Sybase IQ数据库里面的Python脚本...
- Qt文档阅读笔记-QUdpSocket基本表述及简单实现
- 单片机成长之路(51基础篇) - 013 MCS-51单片机控制详解–T2MOD
- Bootstrap 模态框插件Modal 的方法
- python判断数组中是否有重复元素_python经典面试算法题4.1:如何找出数组中唯一的重复元素...
- 电力猫引起的OpenWrt路由器死机掉线的原因
- java微信测单删,免费查微信单删软件有哪些(推荐靠谱查单删APP)
- C语言有限域的构造,有限域(3)——多项式环的商环构造有限域
- Visual Studio 2015 中文社区版下载
- 数据结构与算法 实验5 树、二叉树和森林的基本操作
- 线段树区间、单点修改查询模板,以及自己对线段树的理解
- 转帖:谁动了它们的基因?
- R绘图基础指南 | 2.折线图
- 全国私营企业调查数据(CPES1993-2014)
热门文章
- c语言 自锁按键,具有自锁功能的按键结构的制作方法
- LU_ASR01语音模块使用
- Linux配置阿里云DNS
- 去美元化:曾经被称为加密的地缘政治问题
- 图像调整亮度饱和度 c语言,数据增强-亮度-对比度-色彩饱和度-色调-锐度 不改变图像大小...
- 你偷看的小簧片,其实全都被监视了…
- Qt编写可视化大屏电子看板系统1-布局方案
- Python语言-NL-数值运算
- 【黑马程序员西安中心】我和传智有个梦!
- ModuleNotFoundError: No module named ‘sentence_transformers‘