使用Python批量压缩tif文件操作步骤

1.前言

我在进行DEM数据的裁剪时,发现各个省的数据量非常大,比如说四川省的30m的DEM数据的大小为2G。考虑到有限的电脑磁盘空间,我对Tif文件采用了LZW压缩。

2.流程

3.批量压缩代码

#文件夹中每个文件都进行压缩
# -*- coding: utf-8 -*-
import rasterio as rio
import rasterio
import os
from tqdm import tqdm
#每个线程选择一个文件夹
Input_path ="输入文件夹"+"\\"
Output_path ="输出文件夹"+"\\"
#文件列表
pathDir= os.listdir(Input_path)
#压缩函数
for i in tqdm(range(len(pathDir))):
    # 读入栅格文件
    rasterfile = Input_path+"\\"+pathDir[i]
    #打开栅格
    rasterdata = rio.open(rasterfile)
    #读取栅格
    rasterdata2= rasterdata.read()
    #获取栅格信息
    profile = rasterdata.profile
    print(profile)
    #选择压缩方式
    profile.update(
        compress='lzw',  #压缩方式:rle,lzw等
        )
    #导出文件路径与名字
    out_put_name=Output_path +"RLE"+pathDir[i]
    #导出
    with rasterio.open(out_put_name, mode='w', **profile) as dst:
        dst.write(rasterdata2)

4.结果展示

首先是四川省的原始文件大小为2.23Gb,压缩后的大小为0.99Gb,压缩了大概一半。

以上就是使用Python批量压缩tif文件操作步骤的详细内容,更多关于Python批量压缩文件的资料请关注我们其它相关文章!

(0)

相关推荐

  • python 无损批量压缩图片(支持保留图片信息)的示例

    由于云盘空间有限,照片尺寸也是很大,所以写个Python程序压缩一下照片,腾出一些云盘空间 1.批量压缩照片 新建 photo_compress.py 代码如下 # -*- coding: utf-8 -*- """脚本功能说明:使用 tinypng api,一键批量压缩指定文件(夹)所有文件""" import os import sys from concurrent.futures import ThreadPoolExecutor, Pr

  • python 批量解压压缩文件的实例代码

    下面给大家介绍python 批量解压压缩文件的实例代码,代码如下所述: #/usr/bin/python#coding=utf-8import os,sys import zipfile open_path='e:\\data'save_path='e:\\data' os.chdir(open_path) #转到路径 #首先,通过zipfile模块打开指定位置zip文件 #传入文件名列表,及列表文件所在路径,及存储路径def Decompression(files,file_path,save

  • Python实现文件压缩和解压的示例代码

    大家可能都熟悉.zip格式的文件.它可以把多个文件,压缩成一个文件.这在网络上传输时很有用,而且节省硬盘空间. 接下来,我们使用Python实现压缩和解压. 读取ZIP文件信息 要读取ZIP文件的内容,首先必须创建一个ZipFile对象.ZipFile对象在概念上与File对象相似. 要创建一个 ZipFile 对象,就调用 zipfile.ZipFile()函数,向它传入一个字符串,表示.zip 文件的文件名. 请注意,zipfile 是 Python 模块的名称,ZipFile()是函数的名

  • python 批量压缩图片的脚本

    简介 用Python批量压缩图片,把文件夹或图片直接拖入即可 需要 Needs Python 3 Pillow (用pip install pillow来安装即可) 用法 Usage 把文件夹或图片直接拖入即可.如果拖入的是文件夹,则会遍历子文件夹把所有图片都压缩了. 注意,压缩后的文件会直接替换原来的文件,文件名不变,尺寸不变,只改变压缩质量. 文件的开头有两个变量: SIZE_CUT = 4 表示大于4MB的图片都会进行压缩 QUALITY = 90 表示压缩质量90,这个质量基本人眼是看不

  • python压缩文件夹内所有文件为zip文件的方法

    本文实例讲述了python压缩文件夹内所有文件为zip文件的方法.分享给大家供大家参考.具体如下: 用这段代码可以用来打包自己的文件夹为zip,我就用这段代码来备份 import zipfile z = zipfile.ZipFile('my-archive.zip', 'w', zipfile.ZIP_DEFLATED) startdir = "/home/johnf" for dirpath, dirnames, filenames in os.walk(startdir): fo

  • 使用Python批量压缩tif文件操作步骤

    1.前言 我在进行DEM数据的裁剪时,发现各个省的数据量非常大,比如说四川省的30m的DEM数据的大小为2G.考虑到有限的电脑磁盘空间,我对Tif文件采用了LZW压缩. 2.流程 3.批量压缩代码 #文件夹中每个文件都进行压缩 # -*- coding: utf-8 -*- import rasterio as rio import rasterio import os from tqdm import tqdm #每个线程选择一个文件夹 Input_path ="输入文件夹"+&qu

  • python批量压缩图像的完整步骤

    目录 背景 解决方案 操作步骤 要求 步骤 附:批量将图片的大小设置为指定大小 写在后面 背景 今天在工作中,同事遇到一个上传图片的问题:系统要求的图片大小不能超过512KB.但是同事又有很多照片.这要是每一个照片都用ps压缩的话,那岂不是很崩溃.于是我写了一个脚本,可以批量压缩图片到指定大小.直接造福同事.提高同事的工作效率. 解决方案 其实也不用卖关子了,就是使用python的pillow包就可以对图片进行压缩,如果一个图片已经压缩到指定大小了,那就停止压缩,如果没有达到指定大小,那就对压缩

  • 利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)

    前言 本文主要给大家介绍的关于Python批量压缩png的相关资料,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 1.需求 为什么会有这个需求?是因为游戏的资源大多是png图片,需要压缩,但是有些图片和文件夹里的图片,美术不想压缩,比如一些带透明度的光圈或者游戏的主要元素.所以要过滤下.发现python这个语言比较适合用在这个场景.所以写了点python. 2.源码 import os,sys import os.path rootdir=sys.path[0] #需要过滤的文

  • python批量实现Word文件转换为PDF文件

    本文为大家分享了python批量转换Word文件为PDF文件的具体方法,供大家参考,具体内容如下 1.目的 通过万能的Python把一个目录下的所有Word文件转换为PDF文件. 2.遍历目录 作者总结了三种遍历目录的方法,分别如下. 2.1.调用glob 遍历指定目录下的所有文件和文件夹,不递归遍历,需要手动完成递归遍历功能. import glob as gb path = gb.glob('d:\\2\\*') for path in path: print path 2.2.调用os.w

  • python批量读取txt文件为DataFrame的方法

    我们有时候会批量处理同一个文件夹下的文件,并且希望读取到一个文件里面便于我们计算操作.比方我有下图一系列的txt文件,我该如何把它们写入一个txt文件中并且读取为DataFrame格式呢? 首先我们要用到glob模块,这个python内置的模块可以说是非常的好用. glob.glob('*.txt') 得到如下结果: all.txt是我最后得到的结果文件.可以见返回的是一个包含txt文件名称的列表,当然如果你的文件夹下面只有txt文件,那么你用os.listdir()可以得到一个一样的列表 然后

  • 基于python批量处理dat文件及科学计算方法详解

    摘要:主要介绍一些python的文件读取功能,文件内容修改,文件名后缀更改等操作. 批处理文件功能 import os path1 = 'C:\\Users\\awake_ljw\\Documents\\python for data analysis\\test1' path2 = 'C:\\Users\\awake_ljw\\Documents\\python for data analysis\\test2' filelist = os.listdir(path1) for files i

  • Python批量修改文件名实例操作分享

    此处以修改图片文件名为例,将图片复制到新的目录中再修改名称~ 原始文件名如下: 修改后的效果如下: 代码: 实现将one文件夹中的每一个图片复制到two文件夹并修改图片名为按照a.b.c.d递增排序 思路:重命名为新建一个文件将原来文件内容复制过去 import os   def alterFileName(source,target):     print("当前文件夹下有以下几个文件>>>")     file_list=os.listdir(source)  

  • Python批量将csv文件编码方式转换为UTF-8的实战记录

    当我们用pandas是操作CSV文件的时候,常常会因为编码问题出现报错. pandas_libs\parsers.pyx in pandas._libs.parsers.TextReader.read() pandas_libs\parsers.pyx in pandas._libs.parsers.TextReader._read_low_memory() pandas_libs\parsers.pyx in pandas._libs.parsers.TextReader._read_rows

  • Python批量提取PDF文件中文本的脚本

    本文实例为大家分享了Python批量提取PDF文件中文本的具体代码,供大家参考,具体内容如下 首先需要执行命令pip install pdfminer3k来安装处理PDF文件的扩展库. import os import sys import time pdfs = (pdfs for pdfs in os.listdir('.') if pdfs.endswith('.pdf')) for pdf1 in pdfs: pdf = pdf1.replace(' ', '_').replace('-

随机推荐