[Numpy-discussion] String manipulation
Sebastien Binet
seb.binet at gmail.com
Mon May 11 10:12:10 EDT 2009
hi,
> here is my workaround.
>
> from numpy import arange
> line_a = '111111.1222222.2333333.3' # without
> separator
> line_b = '111111.1 222222.2 333333.3' # including space
> as a delimiter
>
> div, mod = divmod(len(line_a),8)
> liste = []
> for j in arange(0,div):
> liste.append(line_a[j*8:(j+1)*8])
>
> print liste
>
>
> print line_b.split() # Works for line_b
> but not for line_a
how about this, then:
import numpy as np
def massage(data):
fmt = np.dtype([('hdr', '|S8'), ('mid', '|S8'), ('tail','|S8')])
data = data.replace(' ','')
assert len(data)==3*8, "contract failed or invalid assumption"
return np.asarray(data,dtype=fmt).tolist()
assert(massage(line_a) == massage(line_b))
cheers,
sebastien.
--
#########################################
# Dr. Sebastien Binet
# Laboratoire de l'Accelerateur Lineaire
# Universite Paris-Sud XI
# Batiment 200
# 91898 Orsay
#########################################
More information about the NumPy-Discussion
mailing list