Запись только части строки в файл - PullRequest
3 голосов
/ 05 августа 2010

Я хочу очистить вывод и записать только часть нужной мне строки в новый файл, а не всю строку.Это соответствующий раздел кодирования:

counter = 1

for line in completedataset:
    print counter
    counter +=1

    for t in matchedLines:
       if t in line[:line.find(',')]:
            smallerdataset.write(line)
            break

Вот пример данных:

NOVE1780418 "," --- "," JAX17054099 "," 5 "," 156323558 "и т. д. для строки.

Я хочу записать только до числа до 3-й запятой. Мне нужна помощь в изменении строки записи, чтобы записывать только до третьей запятой. Этот файл очень большой, и я 'Я надеюсь, что любой новый код не замедлит работу программы, а скорее ускорит ее. Спасибо Боб

Ответы [ 2 ]

4 голосов
/ 05 августа 2010

Это должно быть так просто, как это ...

for line in infile:
    line = line.strip().split(',')
    outfile.write(','.join(line[:3]) + '\n')
1 голос
/ 05 августа 2010
for line in infile:
    line = line.strip().split(',',3)
    outfile.write(','.join(line[:-1]) + '\n')

Если есть возможность появления символа «,» в любом из полей, вам необходимо использовать модуль csv

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...