2017-11-11 1 views
-1

Sehr neu zu programmieren und zu versuchen, ein Programm zu schreiben, wo ich Elemente aus einer CSV-Datei in ein NumPy-Array mit der gleichen Form konvertieren.Wie konvertiert man eine CSV-Datei mit Text in NumPy in ein Array?

Ich kämpfe alle Operationen auf Elemente meiner CSV-Datei auszuführen, da ich die folgenden Fehlermeldungen werden immer (und ähnliche):

TypeError: '_io.TextIOWrapper' object is not subscriptable 

TypeError: object of type '_io.TextIOWrapper' has no len() 

AttributeError: '_io.TextIOWrapper' object has no attribute 'split' 

Ich bin mir nicht sicher, was ein TextIOWrapper ist oder was zu tun ist . Vielen Dank!

+2

Bitte beginnen Sie damit, uns zu zeigen, was Sie versucht haben, nicht nur Fehler. – roganjosh

+0

Sie haben eine Datei geöffnet, haben aber nichts gelesen. Die Fehler bedeuten, dass Sie versuchen, die Datei als Textzeile oder Linienliste zu behandeln. 'TextIOWrapper' ist das offene Dateiobjekt. – hpaulj

Antwort

0
import numpy as np 
data = np.genfromtxt('csvfile.csv', delimiter=',') 

Mit numpy der genfromtxt() -Methode und vorbei Komma als Trennzeichen können Sie eine CSV-Datei als numpy Array laden.

Aber ich würde eher pandas 'read_csv() empfehlen, um die Datei zu lesen und einen Pandas DataFrame zu erstellen. Wenn Sie möchten, können Sie den DataFrame auch in ein numpliges Array konvertieren. Aber Sie können viele nützliche Datenmanipulationen mit DataFrames sehr viel einfacher als mit numpy Arrays durchführen.

import pandas as pd 
data = pd.read_csv('csvfile.csv') # this creates a DataFrame 
data_np = np.array(data) # this creates a numpy array from the DataFrame 
Verwandte Themen