您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

将文件字符串读入数组(以pythonic方式)

将文件字符串读入数组(以pythonic方式)

快速回答:

arrays = []
for line in open(your_file): # no need to use readlines if you don't want to store them
    # use a list comprehension to build your array on the fly
    new_array = np.array((array.float(i) for i in line.split(' '))) 
    arrays.append(new_array)

如果您经常处理此类数据,csv模块将有所帮助。

import csv

arrays = []
# declare the format of you csv file and Python will turn line into
# lists for you 
parser = csv.reader(open(your_file), delimiter=' '))
for l in parser: 
    arrays.append(np.array((array.float(i) for i in l)))

如果您感到疯狂,甚至可以使用完全声明的形式:

import csv

parser = csv.reader(open(your_file), delimiter=' '))
make_array = lambda row : np.array((array.float(i) for i in row)) 
arrays = [make_array(row) for row in parser]

而且,如果您确实希望同事讨厌您,则可以制作一个衬板(一点也不PYTHONIC :-):

arrays = [np.array((array.float(i) for i in r)) for r in csv.reader(open(your_file), delimiter=' '))]

剥去所有的锅炉板和灵活性,您可以得到一个干净且易于阅读的衬里。我不会使用它,因为我喜欢使用的潜在潜力csv,但是它足够好。这里是一个灰色区域,所以我不会说这是Pythonic,但是绝对方便。

arrays = [np.array((array.float(i) for i in l.split())) for l in open(your_file))]
python 2022/1/1 18:46:49 有440人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶