Извлечение строк и сохранение в несколько файлов CSV - PullRequest
2 голосов
/ 04 сентября 2011

Я пытаюсь решить следующую проблему с помощью Python: у меня есть таблица (csv), из которой я хочу последовательно извлечь строку 1 + 2, затем строку 1 + 3, затем строку 1 + 4 и т. Д. должен быть снова сохранен как CSV-файл и назван в соответствии с первой строкой во 2-й строке, которую нужно извлечь (2, 3, 4, 5, ...). Теперь мой вопрос - правильный ли Python инструмент для этого и есть ли пример кода?

Заранее большое спасибо за любую помощь и советы!

Клод С.

+ Уточнение:

Спасибо за отзыв - на самом деле я пытался использовать модуль CSV, чтобы открыть и прочитать таблицу с помощью этого кода:

import csv
import sys

f = open(sys.argv[1], 'rt')
try:
    reader = csv.reader(f)
    for row in reader:
        print row

Теперь я не уверен, как выбрать и написать необходимые строки ... извините за вопрос для начинающих. Клод С.

Ответы [ 2 ]

1 голос
/ 05 сентября 2011
fname = argv[1]
with open(fname) as i:
    reader = csv.reader(i)

    first_row = next(reader)
    for cur_row in reader:
        out_name = cur_row[0]
        with open(out_name, 'wb') as o:
            writer = csv.writer(o)
            writer.writerow(first_row)
            writer.writerow(cur_row)

Надеюсь, это поможет

0 голосов
/ 05 сентября 2011

Я не уверен, что вам нужен модуль CSV (если только первый столбец не может содержать кавычки и запятые).Если у вас простой формат файла, просто используйте split.

fname = argv[1]
with open(fname) as f:
    header = f.readline()
    # parse the rest of the lines. 
    for line in f:
        out_name = line.split(',')[0]
        with open(out_name, 'wb') as o:
            o.write(header)
            o.write(line)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...