Skip to main content
 首页 » 编程设计

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

2025年05月04日17pander-it

我想从文本文件中的表中获取数据到 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理解 dialect 的 class

你应该使用这个:

示例:

#!/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