Python / numpy> Lire le fichier de données avec la ligne de nom d'élément> Utiliser genfromtxt ()

Environnement d'exploitation


GeForce GTX 1070 (8GB)
ASRock Z170M Pro4S [Intel Z170chipset]
Ubuntu 14.04 LTS desktop amd64
TensorFlow v0.11
cuDNN v5.1 for Linux
CUDA v8.0
Python 2.7.6
IPython 5.1.0 -- An enhanced Interactive Python.
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
GNU bash, version 4.3.8(1)-release (x86_64-pc-linux-gnu)

Fichier cible

Je veux lire la valeur d'un fichier comme le suivant.

$ head IntField-Y 
x y z |E|^2 Ex.r Ex.i Ey.r Ey.i Ez.r Ez.i
-0.2094395102 -1.466076572 -5.235987756 1.117036835 -0.02405501404 0.01851210121 0.4265089085 0.9619413614 0.0789243352 -0.05143356113
0.2094395102 -1.466076572 -5.235987756 1.117036835 0.02405501406 -0.01851210123 0.4265089085 0.9619413614 0.0789243352 -0.05143356113
-1.047197551 -1.047197551 -5.235987756 1.080829273 -0.03701212691 0.09467516163 0.4467058558 0.9303997369 0.0629824475 -0.0365979255
-0.6283185307 -1.047197551 -5.235987756 0.8888575386 -0.01687903824 -0.0712841231 0.4031262231 0.8443906708 0.08152662539 -0.0365822794
-0.2094395102 -1.047197551 -5.235987756 1.355786123 0.000532696637 -0.07408332312 0.2568592009 1.131470229 0.05970715325 -0.02304404718
0.2094395102 -1.047197551 -5.235987756 1.355786123 -0.0005326966253 0.0740833231 0.256859201 1.131470229 0.05970715325 -0.02304404718
0.6283185307 -1.047197551 -5.235987756 0.8888575386 0.01687903825 0.07128412309 0.4031262231 0.8443906708 0.08152662538 -0.0365822794
1.047197551 -1.047197551 -5.235987756 1.080829273 0.03701212691 -0.09467516164 0.4467058558 0.9303997368 0.06298244747 -0.03659792549
-1.047197551 -0.6283185307 -5.235987756 1.699276704 -0.02108930862 -0.06464253993 0.3399972729 1.255779421 0.04140882396 -0.01893399186

Le délimiteur est un blanc, pas une virgule.

référence

http://www.mwsoft.jp/programming/numpy/csv.html

loadtxt ()> Échec

test_read_170418a.py


import numpy as np

data = np.loadtxt('IntField-Y', delimiter=' ')
print(data[:,0])  # 1st columne
print(data[:,1])  # 2nd columne

run


$ python test_read_170418a.py 
Traceback (most recent call last):
  File "test_read_170418a.py", line 9, in <module>
    data = np.loadtxt('IntField-Y', delimiter=' ')
  File "/home/user/tensorflow-GPU/local/lib/python2.7/site-packages/numpy/lib/npyio.py", line 930, in loadtxt
    items = [conv(val) for (conv, val) in zip(converters, vals)]
  File "/home/user/tensorflow-GPU/local/lib/python2.7/site-packages/numpy/lib/npyio.py", line 659, in floatconv
    return float(x)
ValueError: could not convert string to float: x
[1]+Terminer le sous-test_read_170418a.py

Ligne du nom de l'élément(x y z |E|^2 Ex.r Ex.i Ey.r Ey.i Ez.r Ez.i)J'obtiens une erreur.

genfromtxt ()> Succès

test_read_170419a.py


import numpy as np

#data = np.loadtxt('IntField-Y', delimiter=' ')
data = np.genfromtxt('IntField-Y', delimiter=' ')
print(data[:,0])  # 1st columne
print(data[:,1])  # 2nd columne

run


$ python test_read_170419a.py 
[        nan -0.20943951  0.20943951 ...,  1.04719755 -0.20943951
  0.20943951]
[        nan -1.46607657 -1.46607657 ...,  1.04719755  1.46607657
  1.46607657]

En utilisant genfromtxt (), j'ai pu lire un fichier de données séparé par des blancs avec une ligne de noms d'éléments. La chaîne de caractères dans la ligne du nom de l'élément est nan, mais il n'y a pas de problème car elle n'est pas traitée comme des données.

Recommended Posts

Python / numpy> Lire le fichier de données avec la ligne de nom d'élément> Utiliser genfromtxt ()
Lisons le fichier RINEX avec Python ①
Lisez le fichier ligne par ligne avec Python
Lire le fichier de données de caractères avec numpy
[Python] Lire la ligne spécifiée dans le fichier
Lire les données de la table dans un fichier PDF avec Python
Lisez le fichier avec python et supprimez les sauts de ligne [Notes sur la lecture du fichier]
Lire ligne par ligne à partir d'un fichier avec Python
Python --Lisez les données d'un fichier de données numériques et recherchez la ligne de régression multiple.
Lire des données json avec python
[Python] Lisez le fichier csv et affichez la figure avec matplotlib
[Python] Lire les arguments de ligne de commande à partir du nom de fichier ou de stdin
Essayez de déchiffrer les caractères déformés dans le nom du fichier joint avec Python
Extraire le fichier xz avec python
Lisez le fichier en Python avec un chemin relatif depuis le programme
[Python] Lire un fichier csv avec une grande taille de données à l'aide d'un générateur
Lire le fichier CSV avec python (Télécharger et analyser le fichier CSV)
[Python] Récupère le nom de la variable avec str
[Automation] Lire le courrier (fichier msg) avec Python
[Python] Comment rendre le nom de fichier des données de sortie unique (utiliser l'année, le mois, le jour, l'heure, la seconde)
Différentes façons de lire la dernière ligne d'un fichier csv en Python
Comment lire un fichier CSV avec Python 2/3
Lire les données avec python / netCDF> nc.variables [] / Vérifier la taille des données
Lire les données csv Python avec Pandas ⇒ Graphique avec Matplotlib
Spécifiez le fichier exécutable Python à utiliser avec virtualenv
[Python] Comment lire des fichiers Excel avec des pandas
Utilisez Logger avec Python pour le moment
Lire le nom / la plage de cellules Excel avec Python VBA
Le moyen le plus simple d'utiliser OpenCV avec python
Extraire le zip avec Python (prend en charge les noms de fichiers japonais)
Dessinez une ligne de pliage / diagramme de dispersion avec python matplotlib pour fichier CSV (2 colonnes)
Convertir le code de caractère du fichier avec Python3
Je veux obtenir le nom du fichier, le numéro de ligne et le nom de la fonction dans Python 3.4
[python] Lecture de données
Python2 / numpy> Remplacer uniquement une colonne spécifique d'un fichier par les données de colonne d'un autre fichier> numpy.c_
[Python] Créer un tableau structuré (stocker des données hétérogènes avec NumPy)
J'ai essayé de toucher un fichier CSV avec Python
Lisez le fichier xml en vous référant au didacticiel Python
Lire le code QR à partir du fichier image avec Python (Mac)
Programme Python qui recherche le même nom de fichier
Lire le fichier json avec Python, le formater et générer le json
Spécifiez MinGW comme compilateur utilisé dans Python
Utilisons les données ouvertes de "Mamebus" en Python
Utiliser mecab avec Python 3
Utiliser DynamoDB avec Python
Utilisez Python 3.8 avec Anaconda
Utiliser python avec docker
Lire le fichier csv Python
Analyse de données avec Python
Python --Lisez des données à partir d'un fichier de données numériques pour trouver des matrices, des valeurs propres et des vecteurs propres distribués co-distribués
Je connais? Analyse de données à l'aide de Python ou de choses que vous souhaitez utiliser quand vous le souhaitez avec numpy
Essayez de gratter les données COVID-19 Tokyo avec Python
Pourquoi puis-je utiliser le module en important avec python?
[python] Remplacez le nom du fichier image par un numéro de série
Comment changer le fichier de configuration pour qu'il soit lu par Python
[python] Remarques lors de la tentative d'utilisation de numpy avec Cython
Lire le fichier GRIB2 de l'Agence météorologique sur pygrib