下面是我正在阅读的文件示例。我希望能够将每列中的每个值分配给自己的列。例如,列[1] =“number1”并包含所有第一列值,依此类推。
with open("datafile") as datafile:
next(datafile)
for line in datafile:
datafile_line = line.split(",")
print(datafile_line)
number1 number2 number3 number4 number5 number6
8068 0.45230480 0.88468528 1.843e-007 -6.589e-008 4.01
22109 1.24573974 -0.05680449 8.386e-008 -6.55e-008 4.01
34088 1.85052401 0.35901941 -2.962e-008 -4.654e-009 4.01
35037 1.89722047 -0.46727120 -6.245e-008 3.719e-008 4.01
71865 3.84827581 -0.65962098 -1.814e-007 -1.487e-007 4.01
78527 4.19703294 1.02215647 -2.975e-006 1.624e-006 4.01
答案 0 :(得分:0)
所以你想要做的就是将文件的“行”转换为列表示。
f = open('/tmp/data.txt', 'r')
cols = []
for line in f:
line = line.replace('\t', ' ')
col = line.split(sep=' ')
col = [ x for x in col if x != '' and x != ' ']
col = list(zip(range(0,len(col)), col))
for tup in col:
index, value = tup
if len(cols) <= index:
cols.append([])
cols[index].append(value.strip())
print(cols)
此代码将读入文件内容,假设它被称为/tmp/data.txt
并在空白上拆分每一行。对于输入中的每个非空白字,它将在cols
变量中创建一个列表,并在遍历文件时构建每个列值。