python - 使用 Python 从表中的数据创建数组

标签 python arrays

我想从文本文件中的表中获取数据到 python 数组中。我用作输入的文本文件有 7 列和 31 行。这是前两行的示例:

10672   34.332875   5.360831    0.00004035881220    0.00000515052523    4.52E-07    6.5E-07

12709   40.837833   19.429158   0.00012010938453    -0.00000506426720   7.76E-06    2.9E-07

我尝试编写的代码无法正常工作,因为它在执行 for 循环时没有一次读取一行。

data = []
f = open('hyadeserr.txt', 'r')
while True:
    eof = "no"
    array = []
for i in range(7):
    line = f.readline()
    word = line.split()
    if len(word) == 0:
        eof = "yes"
    else:
        array.append(float(word[0]))
        print array
if eof == "yes": break
data.append(array)

如有任何帮助,我们将不胜感激。

最佳答案

具有空格分隔值的文件只是经典的一种方言 comma-separated values (CSV)分隔符为空格 () 的文件,后跟更多空格,可以忽略。

幸运的是,Python 带有一个 csv.reader理解 dialectclass

你应该使用这个:

示例:

#!/usr/bin/env python

import csv

csv.register_dialect('ssv', delimiter=' ', skipinitialspace=True)

data = []
with open('hyadeserr.txt', 'r') as f:
    reader = csv.reader(f, 'ssv')
    for row in reader:
        floats = [float(column) for column in row]
        data.append(floats)

print data

关于python - 使用 Python 从表中的数据创建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14007664/

相关文章:

ruby - 验证数组是升序还是降序

c - 从 C 中的单个格式化键盘行填充数组

python - Remote_api_stub 的路径问题

python - n维数组的numpy二阶导数

python - 没有名为 '_gdbm' 的模块

javascript - javascript 判断数组是否包含除指定值之外的任何内容?

javascript - 扩展数组的问题

Python 游戏 "House of Cards"需要帮助

python - 为什么 IoC/DI 在 Python 中不常见?

c++ - 如何根据 vector 的大小声明数组?