看起来像你有标签\t
分开的值。这是我的最爱:
with open('numbers.txt') as f:
# split the file by rows and rows by separator
l = [i.split('\t') for i in f.read().split('\n')]
print(l) # [['5', '6'], ['3', '8'], ['9', '10']]
With open...确保该文件后关闭。
其他替代方案将包括导入库。 Numpy和熊猫是处理数组/数据/表/矩阵的两个主要包。他们都会评估你的输入(在这种情况下,它将被存储为整数)。 Numpy被Joran Beasley建议。
import numpy as np
l = np.genfromtxt('numbers.txt').tolist()
import pandas as pd
l = pd.read_csv('numbers.txt', sep='\t', header=None).values.tolist()
如果你需要它是整数或浮点数,下面改变代码的其中之一:
l = [list(map(int,i.split('\t'))) for i in f.read().split('\n')]
# [[5, 6], [3, 8], [9, 10]]
l = [list(map(float,i.split('\t'))) for i in f.read().split('\n')]
# [[5.0, 6.0], [3.0, 8.0], [9.0, 10.0]]
试试'line.split()'(没有参数)? – glibdud
当你的文件中没有逗号时,你为什么要在','上分割? – Blorgbeard