2013-07-18 40 views
7

Tôi đang cố gắng viết một tập lệnh chung, một phần trong đó nhập tệp được phân tách bằng dấu phẩy hoặc cách nhau bằng dấu cách trắng. Tôi muốn kịch bản để nhận ra một trong hai loại. Có cách nào để chỉ định một cái gì đó nhưnumpy.genfromtxt: Dấu phân cách không rõ ràng?

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

Tôi đã thử sử dụng cụm từ thông dụng (',|\t') nhưng điều đó cũng không hoạt động.

+4

Tôi không tin rằng bạn có thể sử dụng np.genfromtxt cho việc này. Đối số delimiter được truyền trực tiếp tới thư viện chuẩn python 'str.split (delimiter)'. – Daniel

Trả lời

1

Như đã đề cập, tôi không tin rằng có cách để thực hiện việc này với np.genfromtxt; tuy nhiên bạn luôn có thể sử dụng gấu trúc python.

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

Sử dụng gấu trúc read_csv:

print pd.read_csv('example.csv',sep='\t|,').values 
[[1 2 3] 
[4 5 6] 
[7 8 9]] 
Các vấn đề liên quan