【问题标题】:Can only read empty Pandas dataframes with Parquet只能使用 Parquet 读取空的 Pandas 数据帧
【发布时间】:2020-09-28 16:31:11
【问题描述】:

我无法打开任何 Parquet 桌子,除非它们是空的,写作似乎有效。没有追溯,没有返回。 Pyarrow 1.0.1,Python 3.8.5 (Win10) 上的 Pandas 1.1.2。在错误报告之前我遗漏了什么明显的东西吗? pyarrow-feather 可以正常工作。

import pandas as pd
import pyarrow as pa
import pyarrow.parquet as pq

df = pd.DataFrame([11, 22, 33], columns=['col'])
pout = pa.Table.from_pandas(df)
pq.write_table(pout, 'example.parquet')

# Alternative
#pout = df.to_parquet('example.parquet')

tab = pq.read_table('example.parquet')
df = tab.to_pandas()

# Alternative
#df = pd.read_parquet('example.parquet')

print(df)

【问题讨论】:

  • @mikksu 是的,两者都试过了,这就是为什么它们仍在示例中(已注释掉)。

标签: python pandas parquet


【解决方案1】:

此代码有效。我在Google colab 中试过这个。

【讨论】:

  • 理所当然,因为它是最基本的示例。然后这是一个错误,更奇怪的是根本不会产生任何错误。失败的行是 read_table。
  • 您说您无法打开任何 Parquet 表,但您可以读取和打印“df”。那么你如何判断 read_table 行失败了呢?
  • 我无法打印 df,它存在用于测试目的。我的问题是在以下位置跟踪的错误:issues.apache.org/jira/browse/ARROW-8385
猜你喜欢
  • 2020-03-26
  • 1970-01-01
  • 2015-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-17
  • 2019-11-28
  • 1970-01-01
相关资源
最近更新 更多