Fichier '.db', un problème d'encodage ?
Bonjour,
Pour inaugurer mon arrivée sur le forum, je vous présente sans plus attendre un problème qui m'occupe depuis déjà quelques temps et que, malgré ma ténacité, je n'arrive pas régler. Je précise que je ne sais pas vraiment dans quelle section poster ce message, aussi tout déplacement vers une autre section est le bienvenu.
Tout cela semble simple au premier abord : il s'agit de récupérer des données -sous forme de tableau- depuis un fichier .db. Pour ce faire, j'utilise le module pickle dans le programme suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| import pickle
import numpy as np
directory = 'Mon_path'
n_species = np.array(["H2O"])
section = np.zeros((n_species.size,22,17,867))
for i in range(n_species.size) :
pick = pickle.load(open('%s%s.db'%(directory,n_species[i])))
section[i,:,:,:] = pick["xsecarr"]
bande_sample = pick['wno']
P_sample = pick['p']
T_sample = pick['t'] |
Ce qui renvoie l'erreur suivante :
Citation:
'str' does not support the buffer interface
J'ai par ailleurs tenté de résoudre le problème en ajoutant un argument 'br' à la fonction 'open' ce qui provoque une erreur différente :
Citation:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xa4 in position 2169: ordinal not in range(128)
Il semblerait que le problème ne vienne pas directement d'une bévue dans le raisonnement qui me fait écrire ce programme, mais bien d'un soucis de compatibilité qui me dépasse largement et que je ne saurais comprendre seul. Je vous demande donc, avec le sincère espoir d'une réponse experte, de bien vouloir vous pencher avec moi sur cette erreur dérangeante et de vous enfoncer mollement dans les méandres farfelus qui font de mon crâne une chaudière sous pression.
Je vous remercie d'avance,
Bien à vous,
Olbers.