从文件读入列表并为特定列赋值

2024-03-29 10:36:50 发布

您现在位置:Python中文网/ 问答频道 /正文

下面是我正在阅读的一个文件示例。我希望能够将每列中的每个值分配给它自己的列。例如,列[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

Tags: 文件in示例foraswithlineopen
1条回答
网友
1楼 · 发布于 2024-03-29 10:36:50

因此,听起来您想要做的是将文件的“行”转换为表示

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变量中创建一个列表,并在遍历文件时建立每个

相关问题 更多 >