Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何合并Python中导入的文件中的行?_Python_Arrays_Merge - Fatal编程技术网

如何合并Python中导入的文件中的行?

如何合并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

我有一个包含以下数据的文件(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.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(“”))?