2013-07-18 12 views
7

Sto provando a scrivere uno script generico, una parte della quale importa file separati da virgole o separati da spazi bianchi. Mi piacerebbe che lo script riconoscesse entrambi i tipi. C'è un modo per specificare qualcosa di similenumpy.genfromtxt: Delimitatori ambigui?

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

Ho provato ad utilizzare un'espressione regolare (',|\t'), ma che non funziona neanche.

+4

io non credo che si possa utilizzare np.genfromtxt per questo. L'argomento del delimitatore viene passato direttamente alla libreria standard python 'str.split (delimiter)'. – Daniel

risposta

1

Come accennato, non credo che ci sia un modo per farlo con np.genfromtxt; comunque puoi sempre usare i panda python.

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

Uso panda read_csv:

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