import pandas as pd
from flatten_json import flatten
actual_column_list = ["_id", "external_id", "email", "created_at","updated_at", "dob.timestamp", "dob_1.timestamp","column_10"]
data = [{'_id': '60efe3333333445', 'external_id': 'ID2', 'dob': {'timestamp': 412214400}, 'email': 'woofwoof@gmail.com', 'created_at': 1626334203, 'updated_at': 1629338900},
{ 'external_id': 'ID3', '_id': '60efe3333333487', 'email': 'meowmeow@gmail.com', 'created_at': 1626334203, 'updated_at': 1629338900, 'dob_1': {'timestamp': 'oops'}}]
df = pd.DataFrame(data=[flatten(row, ".") for row in data], dtype='str', columns=actual_column_list)
with pd.option_context('display.max_rows', None, 'display.max_columns', None):
print(df)
df.to_parquet(f"test.parquet", engine='fastparquet', compression="snappy", index=False)显示错误:
root = parquet_thrift.SchemaElement(name=b'schema',
AttributeError: module 'fastparquet.parquet_thrift' has no attribute 'SchemaElement'Python版本: 3.6.9 pyarrow=5.0.0 fastparquet=0.8.0 numpy=1.19.5 pandas=1.1.5。尝试了Python版本的确切代码片段: 3.7.13 pyarrow=7.0.0 fastparquet=0.8.0 numpy=1.21.5 pandas=1.3.5和it work ,但需要它来处理Python版本: 3.6.9 试图在python3.6.9中显式地使用这些版本,但未能安装依赖项。
我想要的是使上面的代码片段与python3.6.9兼容
发布于 2022-04-03 22:40:02
使用快速拼花0.7.2,尽管扣板0.8.0与python3.6兼容,但看起来它需要一个更大的5.0.0版本才能正常工作。因此,必须将紧固件的等级降至0.7.2,这样才能与py箭头5.0.0兼容。
注意:此代码片段可用于获取所有具有空数据类型的列的所有字符串分段,而不将其空值转换为浮动--这是熊猫与pyarrow一起使用时的默认行为--将数据保存到parquet中。
https://stackoverflow.com/questions/71730334
复制相似问题