python - 在 python 2.7 中打开空格(?)分隔的文本文件?

标签 python list python-2.7 csv

我有一个我认为是空格分隔的文本文件,我想打开该文件并将一些数据复制到列表(Python 2.7)。这是数据文件的片段:

    0.000000       11.00      737.09        1.00     1116.00
    0.001000       14.00      669.29       10.00      613.70
    0.002000       15.00      962.27        2.00      623.50
    0.003000        7.00      880.86        7.00      800.71
    0.004000        9.00      634.67        3.00     1045.00
    0.005000       12.00      614.67        3.00      913.33
    0.006000       12.00      782.58        6.00      841.00
    0.007000       13.00      860.08        6.00      354.00
    0.008000       14.00      541.07        4.00      665.25
    0.009000       14.00      763.00        6.00     1063.00
    0.010000        9.00      790.33        6.00      857.83
    0.011000        6.00      899.83        4.00     1070.75
    0.012000       16.00      710.88       10.00      809.90
    0.013000       12.00      863.50        7.00      923.14
    0.014000        9.00      591.67        6.00      633.17
    0.015000       12.00      740.58        6.00      837.00
    0.016000       10.00      727.60        7.00      758.00
    0.017000       12.00      838.75        4.00      638.75
    0.018000        9.00      991.33        7.00      731.57
    0.019000       12.00      680.75        5.00     1079.40
    0.020000       15.00      843.20        3.00      546.00
    0.021000       11.00      795.18        5.00     1317.20
    0.022000        9.00      943.33        5.00      911.00
    0.023000       13.00      711.23        3.00      981.67
    0.024000       11.00      922.73        5.00     1111.00
    0.025000     1112.00      683.58        6.00      542.83
    0.026000       15.00     1053.80        5.00     1144.40

下面是我尝试过的代码,但不起作用。我想要两个列表,第二列和第四列各一个。

listb = []
listd = []
with open('data_file.txt', 'r') as file:        
     reader = csv.reader(file,delimiter=' ')
     for a,b,c,d,e in reader:   
         listb.append(int(b))
         listd.append(int(d))  

我做错了什么?

最佳答案

一种替代方法是利用内置的 str.split():

a, b, c, d, e = zip(*((map(float, line.split()) for line in open('data_file.txt'))))

关于python - 在 python 2.7 中打开空格(?)分隔的文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25757934/

相关文章:

python - 如何在不使用任何 for 或 while 循环的情况下将列表列表打印到 python 中的一个列表中?

python - 多个 WindowsBaloonTip/TrayTip 通知?

python - 如何分组并绘制它

c# - 计算 List<Array> 的每个数组中的元素

python - pyparsing 的递归表达式

Python - 根据输入从数组中减去一个值

linux - python 中的 simpleCV - show() 函数在屏幕上显示小图像

python - 仅使用 python 正则表达式从最新的字符串中获取

python - 尝试使用另一个 stackoverflow 答案中的矢量角度公式,但无法让它打印角度

python - 大型二维 numpy 数组中相同元素的高效成对计算