当前位置:首页 » 编程语言 » python读取gz

python读取gz

发布时间: 2023-05-31 17:54:49

‘壹’ 如何用python快速读取几G以上的大文件

如果你没那么大的内存 解决方法有几个:

  1. 使用swap 一次性read()读取

  2. 系统层面分割大文件为数个小于系统内存的小文件,分别读取

  3. 使用python 按数据大小逐块读取,使用完数据即释放该部分内存:

whileTrue:
chunk_data=file_object.read(chunk_size)
ifnotchunk_data:
break
yieldchunk_data

‘贰’ 如何用Python读取.gz数据

gz的颤拦数据是这样读的没错,但是pickle不是这样的用的啊,pickle是JSON标准库中的序列化封装类,只能序列化和反序列化茄腔胡python中的类、对象,而不能你随便指定一段圆猛数据让它load,它不认识的。

‘叁’ python如何按行获取gz包中的数据

importos
importgzip

#那是因为你调用了read方法,而这个方法会把文件一股脑儿读取出来的
#为了便于你迭代,你可以在这里使用一个生成器
defread_gz_file(path):
ifos.path.exists(path):
withgzip.open(path,'rt')aspf:
forlineinpf:
yieldline
else:
print('thepath[{}]isnotexist!'.format(path))


con=read_gz_file('abc.gz')
ifgetattr(con,'__iter__',None):
forlineincon:
print(line,end='')

‘肆’ python解压gz文件

importgzip

importos

defun_gz(file_name):

 启樱"""ungz zip file"""

 f_name =file_name.replace(".gz", "")

 #获取文件的名称,去掉

 g_file =gzip.GzipFile(file_name)

 #创建gzip对象

 open(f_name, "w+").write(g_file.read())

 #gzip对象梁旁唯用read()打开后,写入open()建立的文件里。

 橡培g_file.close()

 #关闭gzip对象

‘伍’ Python3读取大文件的方法

1.方法一:利用yield生成器

2. 方法二:利用open()自带方法生成迭代对象,这个是早租一行一行的读取

总结:二者的比较

方法一:可以灵活控制一次读取的size,在速度上较2有优势,适用于一些大的和睁盯二进制文件,比如读取一些大的视频或者图片等。

方法二:在处理一唤和些文本的时候感觉更加便利,按行读更容易对文本进行处理。

‘陆’ Python如何从文件读取数据

1.1 读取整个文件

要读取文件,需要一个包含几行文本的文件(文件PI_DESC.txt与file_reader.py在同一目录下)

PI_DESC.txt

3.1415926535
8979323846
2643383279
5028841971

file_reader.py

with open("PI_DESC.txt") as file_object:
contents = file_object.read()
print(contents)

我们可以看出,读取文件时,并没有使用colse()方法,那么未妥善的关闭文件,会不会导致文件收到损坏呢?在这里是不会的,因为我们在open()方法前边引入了关键字with,该关键字的作用是:在不需要访问文件后将其关闭

1.2文件路径

程序在读取文本文件的时候,如果不给定路径,那么它会先在当前目录下进行检索,有时候我们需要读取其他文件夹中的路径,例如:

‘柒’ python如何读取文件的内容

# _*_ coding: utf-8 _*_

import pandas as pd

# 获取文件的内容

def get_contends(path):

with open(path) as file_object:

contends = file_object.read()

return contends

# 将一行内容变成数组

def get_contends_arr(contends):

contends_arr_new = []

contends_arr = str(contends).split(']')

for i in range(len(contends_arr)):

if (contends_arr[i].__contains__('[')):

index = contends_arr[i].rfind('[')

temp_str = contends_arr[i][index + 1:]

if temp_str.__contains__('"'):

contends_arr_new.append(temp_str.replace('"', ''))

# print(index)

# print(contends_arr[i])

return contends_arr_new

if __name__ == '__main__':

path = 'event.txt'

contends = get_contends(path)

contends_arr = get_contends_arr(contends)

contents = []

for content in contends_arr:

contents.append(content.split(','))

df = pd.DataFrame(contents, columns=['shelf_code', 'robotid', 'event', 'time'])

(7)python读取gz扩展阅读:

python控制语句

1、if语句,当条件成立时运行语句块。经常与else, elif(相当于else if) 配合使用。

2、for语句,遍历列表、字符串、字典、集合等迭代器,依次处理迭代器中的每个元素。

3、while语句,当条件为真时,循环运行语句块。

4、try语句,与except,finally配合使用处理在程序运行中出现的异常情况。

5、class语句,用于定义类型。

6、def语句,用于定义函数和类型的方法。

‘捌’ python文件读取与写入

open(filepath) :打开文件
open(filepath,'r') :打开方式,默认是读取

open(filepath).read() :读取文件中的内容
open(filepath).readline() :读取文件中一行的内容
open(filepath).readline()[1] :读取文件中的内容,返回值是列表。
open(filepath).close() :关闭文件
open(filepath).seek(0) :将光标回到首位

with open()函数,不用close()方法,默认自动关闭,所以需要制定一些规则.

文件内建函数和方法:
open() : 打开文件
read() :输入
readline() :输入一行
seek() :文件内移动
write() :输出
close() :关闭文件

热点内容
内置存储卡可以拆吗 发布:2025-05-18 04:16:35 浏览:335
编译原理课时设置 发布:2025-05-18 04:13:28 浏览:378
linux中进入ip地址服务器 发布:2025-05-18 04:11:21 浏览:612
java用什么软件写 发布:2025-05-18 03:56:19 浏览:31
linux配置vim编译c 发布:2025-05-18 03:55:07 浏览:107
砸百鬼脚本 发布:2025-05-18 03:53:34 浏览:942
安卓手机如何拍视频和苹果一样 发布:2025-05-18 03:40:47 浏览:739
为什么安卓手机连不上苹果7热点 发布:2025-05-18 03:40:13 浏览:802
网卡访问 发布:2025-05-18 03:35:04 浏览:510
接收和发送服务器地址 发布:2025-05-18 03:33:48 浏览:371