1

我必须解析 ODF 格式的旋转门的数据文件。在文件中是 HH:MM:SS 中的员工进出时间值(如 141:59:30)。
链接到 GoogleDrive 上的示例文件

我尝试使用 df = pd.read_excel(filename, engine="odf", ...) 打开文件的尝试被异常粉碎:ParserError 小时必须在 0..23: 141:59:30。

我尝试通过几种方式打开文件:

  1. df = pd.read_excel(filename, engine="odf", skiprows=3)“skiprows”削减无用的标题行。
  2. df = pd.read_excel(filename, engine="odf", skiprows=3, dtype=str)“dtype=str”我想,这个选项将所有单元格表示为字符串,以禁止自动日期时间解析。

但我还没有摆脱 ParserError 异常。您能否指出一种在 read_excel 执行时获取诸如“141:59:30”之类的值作为字符串的方法?

4

1 回答 1

0

您可以将字典传递给 dtype 参数,在该参数中输入列名作为键,数据类型作为值。

可能看起来像这样:

df = pd.read_excel(filename, engine="odf", skiprows=3, dtype={'time_col':str})

更新

您也可以尝试在 read 语句中传递一个转换器函数。

def to_timedelta(x):
  return pd.to_timedelta(x)

df = pd.read_excel(filename, engine="odf", skiprows=3, converters={-1:to_timedelta})

于 2021-02-14T04:54:12.973 回答