在txt文件中的预定位置插入逗号

时间:2018-09-19 10:12:26

标签: python-3.x file-processing text-manipulation

我有一个文件,如下所示:

10030004
10300048
10919013

这是一个txt文件,其中包含数据,每一行都是新的观察值。该文件附带一个文档,例如:

变量:A开始:1长度:3

变量:B开始:4长度:2

变量:C开始:6长度:3

我想包括定界符来区分不同的变量。此外,我想包含一个标题。假设我想使用,作为分隔符。有人知道如何进行吗?

好的,为了完整性:

inpath = 'test.txt'
outpath = 'output.txt'

head = "A,B,C"
Astart = 1
Alength = 3
Bstart = 4
Blength = 2
Cstart = 6
Clength = 3


with open(inpath, 'r') as input_f:
    with open(outpath, 'w') as output_f:
        print(head, file = output_f)
        for line in input_f:
            print(line[Astart-1:Astart-1+Alength]+','+line[Bstart-1:Bstart-1+Blength]+','+line[Cstart-1:Cstart-1+Clength], file = output_f)

感谢到目前为止为我提供帮助的所有人。

2 个答案:

答案 0 :(得分:0)

尝试如下切片:

a ='10030004'

打印a [Astart-1:Astart-1 + Alength] +','+ a [Bstart-1:Bstart-1 + Blength] +','+ a [Cstart-1:Cstart-1 + Clength]

根据您的情况:

Astart = 1,长度= 3,Bstart = 4,Blength = 2,Cstart = 6,Clength = 3

答案 1 :(得分:0)

如果您希望通过某些定界符(,)分隔每一行(因为每一行都有一个变量),请使用此符号。

with open('input.txt', 'r') as input_f: with open('output.txt', 'w') as output_f: for line in input_f: line = line.rstrip('\n') + ',' print(line, file=output_f)