从hydrogontimeseries文件读取和写入pandas对象
pd2hts的Python项目详细描述
一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个的大熊猫对象的读写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写写===
图片::https://travis-ci.org/aptiko/pd2hts.svg?branch=master
:alt:build button
:target:https://travis ci.org/aptiko/pd2hts
requirements
==
reference
==
``pd2hts``包含以下函数:
*`` read(f,start_date=none,end_date=none)``读取包含文本格式时间序列的类文件对象
``f`,并返回带有日期索引、值和标志的pandas
dataframe。在"f"中不能有换行
转换(用"open(…,newline='\n')`"打开它。如果指定了
``开始日期``和/或``结束日期`,它将跳过范围之外的行
。
*``读取文件(f)``读取包含文件格式的时间
序列的类文件对象``f`,并返回一个pandas数据帧,该数据帧还具有
属性``单元`,``标题`,``注释```、``时区`、
``时间步骤`、``时间戳舍入`、``时间戳偏移量`、
``间隔类型`、``变量`、``精度`、位置`。有关这些属性的含义,请参见下面的"文件格式"部分。所有
这些属性都是信息性的;在pandas对象中,它们不会被
考虑在内。
事实上,原始时间序列可能是不规则的,但是
实际上有一个时间步。例如,一个10分钟的时间序列可能会在10:20等结束,但在某一点上可能会有一个
不规则,它可能会继续:31:41等。严格来说,这样的时间序列有一个不规则的步骤。但是,当
存储在数据库中时,指定它的时间步长为10分钟(因为这就是它的含义,有不规则的地方为10分钟),可以帮助浏览或搜索数据库内容的人。
scissa``,``ordinate`,``srid`,``altitude`,and``asrid`.
*``write(pd,f)``将pandas数据帧``pd``,它应该是带有值和标志的时间序列,以文本格式写入类似于文件的对象``f`。根据:ref:`text format specification
<;textformat>;`,使用CR-LF序列编写时间序列以
终止行。为了生成完全兼容的文件,应注意不要对"f"或对"f"的任何后续操作执行文本转换;否则,可能会导致行以CR-CR-LF结尾。如果"f"是一个文件,它应该以二进制模式打开。
*`` write_file(pd,f,version=4)``类似于`` write()``但使用的是file
格式。如果``pd``具有
``read_file()``中提到的任何额外属性,则这些属性将写入文件。
formats
=
包含带有元数据的标题。
…_ text format:
文本格式
——
时间序列的文本格式为US ASCII,每条记录一行,
如下:
2006-12-23 18:34,18.2,range
三个字段用逗号分隔,必须始终存在。在date
字段中,可能缺少时间。将日期
与时间分隔的字符可以是空格或小写字母"t",也可以是大写字母"t"(此模块使用空格作为日期分隔符,
生成文本格式,但可以读取使用"t"或"t"的文本格式)。第二个字段
始终使用点作为小数点分隔符,可以为空。第三个
字段通常为空,但可能包含一个用空格分隔的标志列表。
行分隔符应该是MS-DOS和
Windows系统中使用的CR-LF序列。生成文本格式的代码应该始终使用CR-LF
结束行,但是读取文本格式的代码也应该能够
读取仅以LF结束的行,以及CR-CR-LF(出于上面的"write()"函数中解释的原因)。
tes,每个时间序列记录行的最大长度限制为255个字符。
标志应使用ascii编码;不能有代码大于127的字符。
。_文件格式:
file format
——
文件格式如下::
version=2
title=my timeseries
unit=°c
2006-12-23 18:34,18.2,range
2006-12-23 18:44,18.3,
以"parameter=value"的形式指定
参数,后跟空行,
后跟文本格式的时间序列。对于行
终止符,这里的约定与文本格式相同。
头段的编码是utf-8。
客户机和服务器软件应在文件开头识别带或不带
utf-8bom(字节顺序标记)的utf-8文件。os称,写操作可能或可能
不包括bom。(通常windows软件会在文件开头附加bom)。
参数名不区分大小写。在等号的
两边可能有空格,这将被忽略。
行上的尾随空白也将被忽略。第二个等号被认为是值的
部分。该值不能包含换行符,但有一种方法可以使
在下面的注释参数中解释多行参数。
除version之外的所有参数都是可选的:该值可以为
空白,也可以缺少整个"parameter=value";唯一的
异常是commeNT参数。
可用参数有:
**版本**
有四个版本:
*版本1文件早就过时了。它们没有头
节。
*版本2文件必须将"version=2"作为
文件的第一行。所有其他参数都是可选的。该文件不能包含
无法识别的参数;软件读取具有无法识别的
参数的文件可能会引发错误。
*版本3文件没有*version*参数。必须至少存在
其他参数中的一个。读取时忽略无法识别的参数。不推荐使用的参数名
*nominal_offset*和*actual_offset*代替较新的
*timestamp_rounding*和*timestamp_offset*
*版本4文件与版本3相同,除了
参数名*timestamp_rounding*和*timest安培偏移量*
**单位**
测量单位的符号,如``C``或``MM`。
**计数**
时间序列中的记录数。如果存在,则不必精确;它可以是一个估计值。它的主要目的是在软件中启用
进度指示器,该指示器需要时间来读取大型
系列文件。为了确定实际记录数,需要对记录进行计数。
**标题**
时间序列的标题。
**注释**
时间序列的多行注释。多行注释通过指定多个相邻的注释参数来存储,比如
这:
comment=this timeseries非常重要
comment=因为描述它的注释跨越五行。
comment=
注释=这五行组成两段。
t参数是唯一一个空白值有效且指示空行的参数,如上面的示例所示。
**时区**
时间戳的时区,格式为:samp:`{xxx}
(utc{+hhmm}),其中*xxx*是时区名称,并且*+hhmm*是从UTC的
偏移量。例如,``eet(utc+0200)``和``vst
(utc-0430)``.
**时间步长**
一对逗号分隔的整数;时间步长中的分钟数和月数
(两个mut中的一个为零)。如果缺少,则时间
序列没有时间步长。
**时间戳舍入**
一对逗号分隔的整数,指示必须添加到舍入时间戳中的分钟数
和月数,才能得到
标称时间戳。例如,如果一个小时时间序列的时间戳以:13结束,例如01:13、02:13等,则其
四舍五入为13分钟0个月,即`(13,0)``。每月时间
序列通常有一个标称时间戳``(0,0)```,
时间戳的格式通常为2008-02-01 00:00,意思是
"2008年2月",通常由应用软件呈现为"feb
2008"或"2008-02"。年时间戳有一个标称时间戳,
通常有0分钟,但可能有非零个月;例如,希腊的a
常用四舍五入为9个月(0=一月),这意味着
年时间戳的格式为2008-10-01 00:00,通常由applicat呈现离子软件2008-2009,表示2008-2009水文年。
``时间戳舍入``可以是无,这意味着时间戳可以是不规则的。
*时间戳舍入*在旧版本中的名称不同。有关详细信息,请参阅上面的
*version*参数。
**时间戳偏移量**
一对逗号分隔的整数,指示必须添加到标称时间戳以获得实际时间戳的分钟数
和月数。小时间步的时间戳偏移量通常为零,例如
到daily,除非标称时间戳是间隔的
开头,在这种情况下,时间戳偏移量
等于时间步的长度,因此实际时间戳
是E区间。对于月度和年度时间步骤,
时间戳偏移量通常分别为1个月和12个月。对于
月时间序列,时间戳偏移量(-475,1)意味着
2003-11-01 00:00(通常呈现为2003-11)表示间隔
2003-10-31 18:05到2003-11-30 18:05。
*时间戳偏移量*在旧版本中的名称不同。有关详细信息,请参阅上面的
*version*参数。
**interval-type**
具有以下值之一:"sum"、"average"、"maximum"、"minimum"和"vector-average"。如果没有,则表示
时间序列值是瞬时的,它们不指
间隔。
**变量**
变量的文本描述,如"温度"或"降水量"。
**精度**
s值,小数位数
在小数分隔符之后。它可以是负数;例如,
精度-2表示精确到100的值,例如
100、200、300等。
**位置**、**高度**
(版本3及更高版本)。*位置*是三个数字,
空格分隔:横坐标、纵坐标和epsg srid。*高度*是
一个或两个空间分隔的数字:高度和epsg srid
表示高度。海拔srid可以省略。
许可证
==
由Antonis Christofides编写。
016 Antonis Christofides < BR> > BR/>此程序是自由软件:您可以重新分发它和/或修改它的BR/>根据GNU通用公共许可证的条款,由BR/>自由软件基金会发布,许可证的第3版,或BR/>(按您的选择)任何版本。程序的发布是希望它有用,
但没有任何保证;甚至没有对
适销性或特定用途的适用性的隐含保证。有关详细信息,请参阅gnu通用公共许可证。
如果没有,请参见http://www.gnu.org/licenses/>;
图片::https://travis-ci.org/aptiko/pd2hts.svg?branch=master
:alt:build button
:target:https://travis ci.org/aptiko/pd2hts
requirements
==
reference
==
``pd2hts``包含以下函数:
*`` read(f,start_date=none,end_date=none)``读取包含文本格式时间序列的类文件对象
``f`,并返回带有日期索引、值和标志的pandas
dataframe。在"f"中不能有换行
转换(用"open(…,newline='\n')`"打开它。如果指定了
``开始日期``和/或``结束日期`,它将跳过范围之外的行
。
*``读取文件(f)``读取包含文件格式的时间
序列的类文件对象``f`,并返回一个pandas数据帧,该数据帧还具有
属性``单元`,``标题`,``注释```、``时区`、
``时间步骤`、``时间戳舍入`、``时间戳偏移量`、
``间隔类型`、``变量`、``精度`、位置`。有关这些属性的含义,请参见下面的"文件格式"部分。所有
这些属性都是信息性的;在pandas对象中,它们不会被
考虑在内。
事实上,原始时间序列可能是不规则的,但是
实际上有一个时间步。例如,一个10分钟的时间序列可能会在10:20等结束,但在某一点上可能会有一个
不规则,它可能会继续:31:41等。严格来说,这样的时间序列有一个不规则的步骤。但是,当
存储在数据库中时,指定它的时间步长为10分钟(因为这就是它的含义,有不规则的地方为10分钟),可以帮助浏览或搜索数据库内容的人。
scissa``,``ordinate`,``srid`,``altitude`,and``asrid`.
*``write(pd,f)``将pandas数据帧``pd``,它应该是带有值和标志的时间序列,以文本格式写入类似于文件的对象``f`。根据:ref:`text format specification
<;textformat>;`,使用CR-LF序列编写时间序列以
终止行。为了生成完全兼容的文件,应注意不要对"f"或对"f"的任何后续操作执行文本转换;否则,可能会导致行以CR-CR-LF结尾。如果"f"是一个文件,它应该以二进制模式打开。
*`` write_file(pd,f,version=4)``类似于`` write()``但使用的是file
格式。如果``pd``具有
``read_file()``中提到的任何额外属性,则这些属性将写入文件。
formats
=
包含带有元数据的标题。
…_ text format:
文本格式
——
时间序列的文本格式为US ASCII,每条记录一行,
如下:
2006-12-23 18:34,18.2,range
三个字段用逗号分隔,必须始终存在。在date
字段中,可能缺少时间。将日期
与时间分隔的字符可以是空格或小写字母"t",也可以是大写字母"t"(此模块使用空格作为日期分隔符,
生成文本格式,但可以读取使用"t"或"t"的文本格式)。第二个字段
始终使用点作为小数点分隔符,可以为空。第三个
字段通常为空,但可能包含一个用空格分隔的标志列表。
行分隔符应该是MS-DOS和
Windows系统中使用的CR-LF序列。生成文本格式的代码应该始终使用CR-LF
结束行,但是读取文本格式的代码也应该能够
读取仅以LF结束的行,以及CR-CR-LF(出于上面的"write()"函数中解释的原因)。
tes,每个时间序列记录行的最大长度限制为255个字符。
标志应使用ascii编码;不能有代码大于127的字符。
。_文件格式:
file format
——
文件格式如下::
version=2
title=my timeseries
unit=°c
2006-12-23 18:34,18.2,range
2006-12-23 18:44,18.3,
以"parameter=value"的形式指定
参数,后跟空行,
后跟文本格式的时间序列。对于行
终止符,这里的约定与文本格式相同。
头段的编码是utf-8。
客户机和服务器软件应在文件开头识别带或不带
utf-8bom(字节顺序标记)的utf-8文件。os称,写操作可能或可能
不包括bom。(通常windows软件会在文件开头附加bom)。
参数名不区分大小写。在等号的
两边可能有空格,这将被忽略。
行上的尾随空白也将被忽略。第二个等号被认为是值的
部分。该值不能包含换行符,但有一种方法可以使
在下面的注释参数中解释多行参数。
除version之外的所有参数都是可选的:该值可以为
空白,也可以缺少整个"parameter=value";唯一的
异常是commeNT参数。
可用参数有:
**版本**
有四个版本:
*版本1文件早就过时了。它们没有头
节。
*版本2文件必须将"version=2"作为
文件的第一行。所有其他参数都是可选的。该文件不能包含
无法识别的参数;软件读取具有无法识别的
参数的文件可能会引发错误。
*版本3文件没有*version*参数。必须至少存在
其他参数中的一个。读取时忽略无法识别的参数。不推荐使用的参数名
*nominal_offset*和*actual_offset*代替较新的
*timestamp_rounding*和*timestamp_offset*
*版本4文件与版本3相同,除了
参数名*timestamp_rounding*和*timest安培偏移量*
**单位**
测量单位的符号,如``C``或``MM`。
**计数**
时间序列中的记录数。如果存在,则不必精确;它可以是一个估计值。它的主要目的是在软件中启用
进度指示器,该指示器需要时间来读取大型
系列文件。为了确定实际记录数,需要对记录进行计数。
**标题**
时间序列的标题。
**注释**
时间序列的多行注释。多行注释通过指定多个相邻的注释参数来存储,比如
这:
comment=this timeseries非常重要
comment=因为描述它的注释跨越五行。
comment=
注释=这五行组成两段。
t参数是唯一一个空白值有效且指示空行的参数,如上面的示例所示。
**时区**
时间戳的时区,格式为:samp:`{xxx}
(utc{+hhmm}),其中*xxx*是时区名称,并且*+hhmm*是从UTC的
偏移量。例如,``eet(utc+0200)``和``vst
(utc-0430)``.
**时间步长**
一对逗号分隔的整数;时间步长中的分钟数和月数
(两个mut中的一个为零)。如果缺少,则时间
序列没有时间步长。
**时间戳舍入**
一对逗号分隔的整数,指示必须添加到舍入时间戳中的分钟数
和月数,才能得到
标称时间戳。例如,如果一个小时时间序列的时间戳以:13结束,例如01:13、02:13等,则其
四舍五入为13分钟0个月,即`(13,0)``。每月时间
序列通常有一个标称时间戳``(0,0)```,
时间戳的格式通常为2008-02-01 00:00,意思是
"2008年2月",通常由应用软件呈现为"feb
2008"或"2008-02"。年时间戳有一个标称时间戳,
通常有0分钟,但可能有非零个月;例如,希腊的a
常用四舍五入为9个月(0=一月),这意味着
年时间戳的格式为2008-10-01 00:00,通常由applicat呈现离子软件2008-2009,表示2008-2009水文年。
``时间戳舍入``可以是无,这意味着时间戳可以是不规则的。
*时间戳舍入*在旧版本中的名称不同。有关详细信息,请参阅上面的
*version*参数。
**时间戳偏移量**
一对逗号分隔的整数,指示必须添加到标称时间戳以获得实际时间戳的分钟数
和月数。小时间步的时间戳偏移量通常为零,例如
到daily,除非标称时间戳是间隔的
开头,在这种情况下,时间戳偏移量
等于时间步的长度,因此实际时间戳
是E区间。对于月度和年度时间步骤,
时间戳偏移量通常分别为1个月和12个月。对于
月时间序列,时间戳偏移量(-475,1)意味着
2003-11-01 00:00(通常呈现为2003-11)表示间隔
2003-10-31 18:05到2003-11-30 18:05。
*时间戳偏移量*在旧版本中的名称不同。有关详细信息,请参阅上面的
*version*参数。
**interval-type**
具有以下值之一:"sum"、"average"、"maximum"、"minimum"和"vector-average"。如果没有,则表示
时间序列值是瞬时的,它们不指
间隔。
**变量**
变量的文本描述,如"温度"或"降水量"。
**精度**
s值,小数位数
在小数分隔符之后。它可以是负数;例如,
精度-2表示精确到100的值,例如
100、200、300等。
**位置**、**高度**
(版本3及更高版本)。*位置*是三个数字,
空格分隔:横坐标、纵坐标和epsg srid。*高度*是
一个或两个空间分隔的数字:高度和epsg srid
表示高度。海拔srid可以省略。
许可证
==
由Antonis Christofides编写。
016 Antonis Christofides < BR> > BR/>此程序是自由软件:您可以重新分发它和/或修改它的BR/>根据GNU通用公共许可证的条款,由BR/>自由软件基金会发布,许可证的第3版,或BR/>(按您的选择)任何版本。程序的发布是希望它有用,
但没有任何保证;甚至没有对
适销性或特定用途的适用性的隐含保证。有关详细信息,请参阅gnu通用公共许可证。
如果没有,请参见http://www.gnu.org/licenses/>;