mikeio - 从 2011 年开始读取 Dfs0 文件
问题描述
我在一家公司工作,2011 年在 DHI 完成了一些工作。我们选择进一步分析一些数据,但我们只有 Dfs0 格式。我已经安装了 mikeio 包,并写道:
import mikeio
ds = mikeio.Dfs0("0019log1.dfs0")
但我得到一个属性错误:
AttributeError: 'DfsEqTimeAxis' object has no attribute 'StartDateTime'
我不知道这是因为文件是很久以前制作的,还是制作文件的人犯了错误。我以前没有使用过 Dfs0 文件。
解决方案
具有相对时间轴的文件不是很常见,直到最近才可以使用 mikeio 读取。
现在应该没问题,只要您认为时间是相对于 1970-01-01 00:00 定义的。
Python 3.8.3(默认,2020 年 5 月 19 日,06:50:17)[MSC v.1916 64 位(AMD64)] :: Anaconda, Inc. on win32 输入“帮助”、“版权”、“信用”或“许可”以获取更多信息。 >>> 从 mikeio 导入 Dfs0 >>> dfs0 = Dfs0("eq_relative.dfs0") >>> dfs0 dfs0 时间轴:TimeAxisType.EquidistantRelative 项目: 0:第 1 项(未定义) 1:第 2 项(未定义) 2:第 3 项(未定义) 3:第 4 项(未定义) 4:第 5 项(未定义) >>> ds = dfs0.read() >>> ds 尺寸:(504,) 时间:1970-01-01 00:00:00 - 1970-01-01 00:00:56.236909 项目: 0:第 1 项(未定义) 1:第 2 项(未定义) 2:第 3 项(未定义) 3:第 4 项(未定义) 4:第 5 项(未定义) >>> ds["项目 1"][0:10 ... ] 数组([-0.0068621,-0.01174611,-0.0068621,-0.0019781,0.00290591, 0.00290591、0.00290591、0.00290591、-0.0019781、-0.0068621]) >>> ds.time[0:10] DatetimeIndex([ '1970-01-01 00:00:00', '1970-01-01 00:00:00.111803', '1970-01-01 00:00:00.223606', '1970-01-01 00:00:00.335409', '1970-01-01 00:00:00.447212', '1970-01-01 00:00:00.559015', '1970-01-01 00:00:00.670818', '1970-01-01 00:00:00.782621', '1970-01-01 00:00:00.894424', '1970-01-01 00:00:01.006227'], dtype='datetime64[ns]',频率='111803U')
推荐阅读
- laravel - 如何在 Laravel 中提出存储库请求?
- javascript - 如何编写计算总价、清除按钮值并提交表单的函数
- javascript - 使圆圈以不同的速度在赛道上移动。(Javascript)
- python - 是否可以对原始反应添加制定时间表?[不和谐.py]
- polygon - 如何查询 Voronoi 图?
- react-native - 在本机反应的画廊文件夹中显示图像
- java - 无法在 Android 中使用 Volley 从 API 获取数据到 ArrayList
- apache-nifi - Apache NIFI :: 连接到 windows 服务器并执行 powershell 脚本
- python - 有没有办法使用 plotly 在 python 中创建范围图?
- kubernetes - 需要在使用 Kubeadm 引导的 kubernetes 集群上运行有状态应用程序