1

我正在使用 flopy 中的 sfroutputfile 模块将 SFR 预算输出文件读取到 pandas 数据帧。下面显示的代码在使用 python27 执行的先前版本的 flopy (v3.2.12) 下工作。尝试使用 Python3 和 flopy v3.3.0 再次执行代码会在调用get_dataframe()函数时产生错误。

import os
import numpy as np
import pandas as pd
import flopy as fp
import flopy.utils.binaryfile as bf
from flopy.utils.sfroutputfile import SfrFile

inSFROut = './OUT_TR/SPV.sfrbud'
loadSFROut = SfrFile(inSFROut)
df = loadSFROut.get_dataframe()

错误:

ValueError: invalid literal for int() with base 10: '5.5742E+01'

错误中显示的值是FLOW INTO STRM中的第一个条目。康复中心。SFR 输出文件的列(第 6 列)。该函数似乎在此列中查找整数,但正在查找显示的值。

最新版本中get_dataframe()函数如何解析文件的列是否存在问题?或者在新版本下执行这个功能有什么本质上的不同?

谢谢!

4

0 回答 0