python - 如何检索镶木地板文件中 TIMESTAMP 列的 idAdjustedUTC 标志值?
问题描述
我有一个包含许多类型列的镶木地板文件converted_type (legacy): TIMESTAMP_MICROS
。我想检查标志isAjustedToUTC
是否为真。我可以这样得到:
import pyarrow.parquet as pq
import re
arrow = pq.ParquetFile("/Parquet/File/Path/filename.parquet")
timestamp_string = str(arrow.metadata.row_group(0).column(79).statistics.logical_type)
re.search("isAdjustedToUTC=(.*), timeUnit",timestamp_string).group(1)
这给了我true
或者false
作为字符串。是否有另一种方法可以在isAdjustedToUTC
不使用正则表达式的情况下检索值?
解决方案
据我所知,这是不可能的。logical_type
是pyarrow._parquet.ParquetLogicalType
不直接暴露其基础成员的类型。
唯一可用的字段是:
dir(logical_type)
>> ['__class__',
'__delattr__',
'__dir__',
'__doc__',
'__eq__',
'__format__',
'__ge__',
'__getattribute__',
'__gt__',
'__hash__',
'__init__',
'__init_subclass__',
'__le__',
'__lt__',
'__ne__',
'__new__',
'__pyx_vtable__',
'__reduce__',
'__reduce_ex__',
'__repr__',
'__setattr__',
'__setstate__',
'__sizeof__',
'__str__',
'__subclasshook__',
'to_json',
'type']
您可以使用该to_json
功能,但它与您建议的选项一样脏:
import json
json.loads(logical_type.to_json())['isAdjustedToUTC']
>> true
推荐阅读
- php - 一旦页面插入数据并重定向到旧页面,如何获取查询字符串值
- javascript - Discord Bot 服务器耳聋
- javascript - 使用 JavaScript 对系列求和
- java - 使用 Google Meet API 发送会议 URL
- ios - 如何在 iOS 10 或更低版本中使用 webview?
- reactjs - 如何使用 android 模拟器在 react native expo 中访问 localhost?
- python-3.x - 第一个循环完成后如何使循环移动到另一个循环
- android - 从 ImageReader 访问 HardwareBuffer
- c++ - C++ 程序菜单混乱
- unit-testing - 根据属性更新默认状态