2017-02-16 1 views
1

Lorsque j'ouvre certains fichiers à l'aide HDF5 pandas géants, il affiche un message:Pandas Pas de message d'ouverture sur HDF5 Fichier

Ouverture /path/to/file/file_name.h5 en mode lecture seule

Comment puis-je supprimer ce message? Notez que je ne comprends pas toujours; quand j'ai essayé de faire un exemple de test ci-dessous, je peux le lire avec aucun message:

pd.DataFrame({'a':[1,2,3]}).to_hdf('test.h5', 'key', mode='w') 
_ = pd.read_hdf('test.h5') 

Je ne sais pas si c'est la taille du fichier qui compte? Celui que j'utilise en pratique est beaucoup plus grand que le fichier de test créé ci-dessus.

EDIT: Je créé un grand fichier de test, et je ne comprends toujours pas le message lors de la lecture:

# don't run this if you don't want a 1G dummy file 
pd.DataFrame({ch: np.arange(10000000) for ch in 'abcdefghijklm'}).to_hdf('test.h5', 'k1') 
_ = pd.read_hdf('test.h5', 'k1') 

Je n'ai pas créé le fichier qui me donne moi-même le message, je Ne suis pas sûr si certains indicateurs peuvent être définis lors de l'appel pandas.DataFrame.to_hdf() qui pourrait provoquer ce message à toujours apparaître lors de la lecture du fichier?

+0

Le message est imprimé par '../ pandas géants/io/pytables.py'. Il semble que pytables ait déclenché un 'IOError' et que les pandas aient simplement imprimé ce message. Quelqu'un a soumis un problème aux pandas ([détail numéro] (https://github.com/pandas-dev/pandas/issues/12106)). La seule façon d'arrêter l'impression est de définir un mode lors de l'ouverture du fichier. Sinon, vous devez chercher un moyen de l'empêcher de sortir le message dans stdout. – SSC

+0

@SSC si vous voulez ajouter cela comme réponse, je vais aller de l'avant et l'accepter. Passer 'mode = 'r' fonctionne assez bien pour mes besoins. – Nathan

Répondre

1

Ce message s'affiche si vous avez un fichier HDF5 en lecture seule, mais ne l'ouvrez pas en mode lecture (pour vous avertir que vous ne pourrez pas écrire dans le fichier, ce que vous pourriez normalement attendre faire).

Pour éviter ce message, ouvrez votre fichier:

pd.read_hdf('test.h5', mode='r')