python文件指针是什么,如何实现文件的随机读取

python文件指针是什么,如何实现文件的随机读取,第1张

python文件指针是FILE类型的指针。通过移动文件指针,可以使用函数方法来进行文件的读取与写入。将文件都视为流,只能按顺序从头到尾读取。实际上,可在文件中移动,只访问感兴趣的部分(称为随机存取)。

对于大块头的文件,不能一次性地读入然后处理,而要边读入边处理:

f=open('e:/python27/name_txt','r')

while True:

line=freadline()

if line=='':

break

print(line,end='')

list1=linesplit('\n')

list1=list1[0]split(',')

print(list1)

fclose()

python很多库支持了对nc格式文件的读取,比如NetCDF4,PyNio(PyNio和PyNgl可以看做是NCL的Python版本)以及Xarray等等。

我最初使用PyNio,但是由于NCL到Python的移植并不完全,导致目前远不如直接使用NCL方便,而在接触Xarray库后,发现其功能强大远超NCL(也可能是我NCL太菜的原因)。

安装同其它库一致:

我这里以一套中国逐日最高温度格点资料(CN051)为例,其水平精度为05°X05°。

可以看到,文件的坐标有时间, 经度,纬度,变量有日最高温

我们将最高温数据取出

这与Linux系统中的ncl_filedump指令看到的信息是类似的

Xarray在读取坐标信息时,自动将时间坐标读取为了datetime64 格式,这对我们挑选目的时间十分方便。Xarray通常与pandas配合使用。

比如我们想选取19790601-19790620时期数据,我们只需

再比如我们想选取夏季数据时,只需

更多的时间 *** 作同python的datetime函数类似。

当我们想选取特定经纬度范围(高度)的数据时,loc[]函数同样可以解决。

在这里,我选取了40°N-55°N,115°E-135°E范围的数据

甚至,我们还可以套娃,同时叠加时间和范围的选取

这足够满足常用到的数据索引要求。

对于这类简单排列的txt文件,可以通过npload读取,用pandas的read_csv更为方便

读取txt的同时,对每列赋予了一个列名,通过dataa可以直接按列名调用相应数据。

对于较复杂的txt文件,仍可通过该函数读取

skiprows=5跳过了前5行的文件头,sep='\s+'定义了数据间隔为空格,这里用的是正则表达。

pdread_csv函数有很多的参数,可以处理各种复杂情况下的文本文件读取。

grib文件可通过pygrib库读取

import pygrib

f = pygribopen('xxxgrb')

Python处理两种不同类型的文件:二进制文件和文本文件。了解两者之间的差异很重要,因为它们的处理方式不同。

二进制文件

在正常计算机使用期间使用的大多数文件实际上是二进制文件,而不是文本。比如:Microsoft Word doc文件实际上是一个二进制文件,即使它只有文本。

二进制文件的其他示例包括:

图像文件,包括jpg,png,bmp,gif,等。

数据库文件包括mdb,frm和sqlite

文件,包括doc,xls,pdf或者其他文件。

那是因为这些文件都有特殊处理的要求,需要特定类型的软件来打开它。例如,您需要Excel来打开xls文件,并使用数据库程序来打开sqlite文件。

文本文件

一方面,没有特定的编码,可以通过没有任何特殊处理的标准文本编辑器打开。但是,每个文本文件都必须遵守一组规则:

文本文件必须是可读的。他们可以(并且经常会)包含许多特殊编码,尤其是在HTML或其他标记语言中,但您仍然可以说出它的含义

文本文件中的数据按行组织。在大多数情况下,每一行都是一个独特的元素,无论是指令行还是命令。

此外,文本文件在每行的末尾都有一个看不见的字符,这使文本编辑器知道应该有一个新行。通过编程与这些文件交互时,您可以利用该字符。在Python中,它用“ n” 表示。

在哪里可以找到Python的文件I / O工具

在Python中工作时,您不必担心导入任何特定的外部库来处理文件。Python附带有“文件库”,文件I / O工具和实用程序是核心语言的内置部分。

但是在其他语言(如C ++)中,要处理文件,您必须通过包含正确的头文件来启用文件I / O工具#include <fstream>。如果您使用Java编写代码,则需要使用该import javaio语句。

使用Python,就没有必要这样做,这是因为Python有一组内置函数,可以处理读取和写入文件所需的所有内容。

以上就是关于python文件指针是什么,如何实现文件的随机读取全部的内容,包括:python文件指针是什么,如何实现文件的随机读取、如何使用python读取一个2G的csv文件、Python气象数据处理与绘图(1):数据读取等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10141035.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存