2013-07-18 9 views
7

Ich versuche ein generisches Skript zu schreiben, von dem ein Teil Dateien importiert, die entweder durch Kommas getrennt oder durch Leerzeichen getrennt sind. Ich möchte, dass das Skript einen der beiden Typen erkennt. Gibt es eine Möglichkeit, etwas wie zu spezifizierennumpy.genfromtxt: Mehrdeutige Trennzeichen?

arrayobj = np.genfromtxt(file.txt, delimiter=(',' OR '\t'), names=None, dtype=None) 

Ich versuchte, einen regulären Ausdruck (',|\t'), aber das funktioniert auch nicht.

+4

Ich glaube nicht, Sie für diesen Einsatz np.genfromtxt können. Das Delimiter-Argument wird direkt an die Python-Standardbibliothek 'str.split (delimiter)' übergeben. – Daniel

Antwort

1

Wie erwähnt, glaube ich nicht, dass es einen Weg gibt, dies mit np.genfromtxt zu tun; Sie können jedoch immer Python-Pandas verwenden.

example.txt: 
1,2,3 #Header 
1,2,3 
4,5'tab'6 
7'tab'8'tab'9 

Mit Pandas read_csv:

print pd.read_csv('example.csv',sep='\t|,').values 
[[1 2 3] 
[4 5 6] 
[7 8 9]]