Вставка запятой в предопределенные позиции в текстовом файле - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть файл, который выглядит следующим образом:

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 голосов
/ 19 сентября 2018

Если вы хотите отделить каждую строку (поскольку каждая строка имеет одну переменную) каким-то разделителем (,), используйте это.

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)

0 голосов
/ 19 сентября 2018

Попробуйте нарезать, как показано ниже:

a = '10030004'

распечатать [Astart-1: Astart-1 + Alength] + ',' + a [Bstart-1: Bstart-1 + Blength] + ',' + a [Cstart-1: Cstart-1 + Clength]

Где, как в вашем случае:

Astart = 1, Alength = 3, Bstart =4, длина = 2, Cstart = 6, длина = 3

...