pandas不会在Windows下打开USB驱动器上的HDF5文件

2024-10-02 20:34:48 发布

您现在位置:Python中文网/ 问答频道 /正文

试图用pandas打开HDF5文件。只要文件在我的U盘上,熊猫就无法加载/找到它。

import os
import pandas as pd

table_path = r'C:\User\me\Desktop\test\h5table.h5'
if os.path.exists(table_path):
    print('yup, this file exists')
h5table = pd.io.pytables.HDFStore(table_path, mode='r')

这正如预期的那样,表被加载到h5table中。h5table.h5是位于USB驱动器上的原始文件的副本。下面是我尝试加载原始文件:

^{pr2}$

这不起作用。文件显然已找到,但尝试打开它会导致:

yup, this file exists

HDF5ExtError: HDF5 error back trace

File "C:\Users\builder\mc3\conda-bld\hdf5_1506030377716\work\src\H5F.c", line 586, in H5Fopen
unable to open file
File "C:\Users\builder\mc3\conda-bld\hdf5_1506030377716\work\src\H5Fint.c", line 1236, in H5F_open
unable to open file: time = Fri Feb 23 16:02:48 2018, name = 'E:\eit-cps-hii\2017\océ\data\dfki_SCS931000105.h5', tent_flags = 0
File "C:\Users\builder\mc3\conda-bld\hdf5_1506030377716\work\src\H5FD.c", line 809, in H5FD_open
open failed
File "C:\Users\builder\mc3\conda-bld\hdf5_1506030377716\work\src\H5FDsec2.c", line 346, in H5FD_sec2_open
unable to open file: name = 'E:\data\h5table.h5', errno = 2, error message = 'No such file or directory', flags = 0, o_flags = 0

End of HDF5 error back trace

Unable to open/create file 'E:\data\h5table.h5'

我尝试过不同的路径格式,它们都适用于C:上的文件,没有一种适用于E:上的文件。在

table_path = 'E:/data/h5table.h5'
table_path = 'E:/data/h5table.h5'.replace('/', os.sep)
table_path = os.path.join('E:', 'data', 'h5table.h5')

有趣的是。该驱动器是三星便携式SSD T3,格式为exFAT。如果文件位于另一个USB驱动器上,三星便携式ssdt5,格式化为NTFS,它可以很好地加载,就像在C:。那么,SSD格式有问题吗?但是

testfile = 'E:/data/test.txt'
with open(testfile) as testtxt:
    for line in testtxt:
        print(line)

无误地执行并逐行打印文本文件的内容。在

移动文件是一种选择,但不是更好的选择。它并不是唯一的一个,事实上USB驱动器上有千兆字节的数据,这就是为什么它首先被用来存储数据。也无法重新格式化,因为驱动器用于Mac和Windows之间的文件交换。顺便说一句:在Mac上用pandas打开硬盘上的HDF5文件完全没有问题。在

如何打开原始驱动器上的HDF5文件?奖金:为什么它不起作用?在


Tags: 文件pathindataoslinetableopen