无法读取使用Python编写的R中的HDF5文件

时间:2016-11-10 09:51:20

标签: python r pandas dataframe hdf5

我使用数据帧的Pandas函数(Pandas / Python 2.7)在磁盘上写了to_hdf()数据帧。

我想在R环境中阅读这个数据帧。我正在使用R中的rhdf5包来读取文件。

转储数据框的Python代码

data.to_hdf('myDataFrame.h5', 'table', append=True) #data is a pandas dataframe

R代码阅读

library(rhdf5)
data <- h5read("myDataFrame.h5", "table")

如何实现这一目标?有没有更好的方法在两种语言之间交换数据帧?我不想涉及.csv,因为它会丢失所有元信息,每次阅读都会慢一些。

我没有错误消息,只有几个警告。但我读到的data无法与我想要的相似,我无法找到我存储的内容。这是我尝试探索读取对象时的样子。我存储的数据帧有形状(1,400,000 x 267)。

List of 2
 $ _i_table:List of 1
  ..$ index:List of 10
  .. ..$ abounds  : int [1:680(1d)] 0 2048 4096 6144 8192 10240 12288 14336 16384 18432 ...
  .. ..$ bounds   : int [1:135, 1:5] 2048 4096 6144 8192 10240 12288 14336 16384 18432 20480 ...
  .. ..$ indices  : int [1:278528, 1:5] 0 0 0 0 0 0 0 0 0 0 ...
  .. ..$ indicesLR: int [1:278528(1d)] 2165 2165 2165 2165 2165 2165 2165 2165 2165 2165 ...
  .. ..$ mbounds  : int [1:680(1d)] 1024 3072 5120 7168 9216 11264 13312 15360 17408 19456 ...
  .. ..$ mranges  : int [1:5(1d)] 140288 418816 697344 975872 1254400
  .. ..$ ranges   : int [1:2, 1:5] 0 278527 278528 557055 557056 835583 835584 1114111 1114112 1392639
  .. ..$ sorted   : int [1:278528, 1:5] 0 1 2 3 4 5 6 7 8 9 ...
  .. ..$ sortedLR : int [1:278665(1d)] 1392640 1392641 1392642 1392643 1392644 1392645 1392646 1392647 1392648 1392649 ...
  .. ..$ zbounds  : int [1:680(1d)] 2047 4095 6143 8191 10239 12287 14335 16383 18431 20479 ...
 $ table   :'data.frame':   1400000 obs. of  6 variables:
  ..$ index         : int [1:1400000(1d)] 0 1 2 3 4 5 6 7 8 9 ...
  ..$ values_block_0: num [1:1400000(1d)] NA NA NA NA NA NA NA NA NA NA ...
  ..$ values_block_1: num [1:1400000(1d)] NA NA NA NA NA NA NA NA NA NA ...
  ..$ values_block_2: num [1:1400000(1d)] NA NA NA NA NA NA NA NA NA NA ...
  ..$ values_block_3: num [1:1400000(1d)] NA NA NA NA NA NA NA NA NA NA ...
  ..$ values_block_4: num [1:1400000(1d)] NA NA NA NA NA NA NA NA NA NA ...

0 个答案:

没有答案