如何使用文本文件中的python读取具有由制表符空格间隔的浮点值列,如下所示:
1.0 11.0 23.0
2.0 22.0 45.0
3.0 33.0 456.0
4.0 44.0 3456.0
5.0 55.0 33212.0
我想阅读特定的专栏,比如第1,2或3栏。 任何人都可以给我一个相应的python代码吗?
答案 0 :(得分:1)
您需要阅读文件.strip
尾随\n
,然后在.split('\n')
的每一行上拆分。然后,您可以在每行中使用相同的.split
方法遍历理解中的每一行以获取浮点数。
因此,我们可以使用:
创建数据结构x = [r.split() for r in open('file.txt').read().strip().split('\n')]
但是这不会将字符串转换为浮点数,因为我们需要使用嵌套的理解:
x = [[float(c) for c in r.split()] \
for r in open('file.txt').read().strip().split('\n')]
现在,如果我们想要第三行的第二个元素,我们可以调用:
x[2][1]
这使我们33.0
成为一个浮点数。
答案 1 :(得分:1)
使用split
分割字符串,使用strip
删除空格
with open(filename,'r') as f:
for line in f.readlines():
a,b,c = [float(x.strip()) for x in line.split()]
答案 2 :(得分:0)
使用pandas
import pandas as pd
df = pd.read_csv(filename, sep="\t")