如何合并Python中导入的文件中的行?
我有一个包含以下数据的文件(nameoffile.txt):如何合并Python中导入的文件中的行?,python,arrays,merge,Python,Arrays,Merge,我有一个包含以下数据的文件(nameoffile.txt): -200.0000 23.0786 0.2402 0.9807 2.7610 0.7627 0.3168 1.4249 0.8745 0.4953 1.4652 5.9483 0.0000 0.6919 2.2648 0.3407 0.0000 0.6958 0.5775 0.0000 0.6171 2.62
-200.0000 23.0786 0.2402 0.9807 2.7610 0.7627 0.3168 1.4249
0.8745 0.4953 1.4652 5.9483 0.0000 0.6919 2.2648 0.3407
0.0000 0.6958 0.5775 0.0000 0.6171 2.6211
-199.9800 23.0706 0.2401 0.9804 2.7598 0.7632 0.3167 1.4246
0.8743 0.4952 1.4646 5.9452 0.0000 0.6917 2.2638 0.3407
0.0000 0.6955 0.5774 0.0000 0.6170 2.6203
我将数据导入一个数组中,以便以后使用。然而,当我做以下事情时
with open(os.path.join(sys.path[0], 'nameOfTheFile.txt'), 'r') as file:
lines = file.readlines()
tab = []
for i in range(len(lines)):
tab.append(lines[i])
print(tab)
我明白了
['-200.0000 23.0786 0.2402 0.9807 2.7610 0.7627 0.3168 1.4249\n', ' 0.8745 0.4953 1.4652 5.9483 0.0000 0.6919 2.2648 0.3407\n', ' 0.0000 0.6958 0.5775 0.0000 0.6171 2.6211\n', ' -199.9800 23.0706 0.2401 0.9804 2.7598 0.7632 0.3167 1.4246\n', ' 0.8743 0.4952 1.4646 5.9452 0.0000 0.6917 2.2638 0.3407\n', ' 0.0000 0.6955 0.5774 0.0000 0.6170 2.6203\n']
我知道如何摆脱\n但当我这样做时,仍然会得到以下输出:
['-200.0000 23.0786 0.2402 0.9807 2.7610 0.7627 0.3168 1.4249', ' 0.8745 0.4953 1.4652 5.9483 0.0000 0.6919 2.2648 0.3407', ' 0.0000 0.6958 0.5775 0.0000 0.6171 2.6211', ' -199.9800 23.0706 0.2401 0.9804 2.7598 0.7632 0.3167 1.4246', ' 0.8743 0.4952 1.4646 5.9452 0.0000 0.6917 2.2638 0.3407', ' 0.0000 0.6955 0.5774 0.0000 0.6170 2.6203']
两行之间仍然有一个逗号分隔,使得nameoffile.txt的每一行都是数组的一项。因此,当我想要打印时:
print(tab[0],tab[1])
我得到
-200.0000 23.0786 0.2402 0.9807 2.7610 0.7627 0.3168 1.4249 0.8745 0.4953 1.4652 5.9483 0.0000 0.6919 2.2648 0.3407
我希望的是,不是nameoffile.txt的每一行都被视为一个项目,而是每一个值,这将通过应用之前的打印来提供:
-200.0000 23.0786
请问有没有办法
谢谢 您的文件由多行文本组成,但您需要数字。你必须自己做转换
tab = []
with open(os.path.join(sys.path[0], 'nameOfTheFile.txt'), 'r') as file:
for line in file:
tab += [float(n) for n in line.strip().split()]
print(tab)
看起来您需要
列表。扩展
Ex:
tab = []
with open(os.path.join(sys.path[0], 'nameOfTheFile.txt')) as infile:
for line in infile:
tab.extend(line.strip().split()) #Strip newline char and split by space.
print(tab[0],tab[1])
-200.0000 23.0786
输出:
tab = []
with open(os.path.join(sys.path[0], 'nameOfTheFile.txt')) as infile:
for line in infile:
tab.extend(line.strip().split()) #Strip newline char and split by space.
print(tab[0],tab[1])
-200.0000 23.0786
只需读取整个文件并拆分其内容:
with open('nameOfTheFile.txt', 'r') as file:
text = file.read()
tab = text.split()
print(tab)
print(tab[0], tab[1])
或使用
tab = [float(i) for i in text.split()]
如果您需要数字而不是字符串。您尝试了tab.append(行[i].split(“”))?