Python csv.reader: как мне вернуться в начало файла? - PullRequest
47 голосов
/ 11 января 2009

Когда я перемещаюсь по файлу с помощью csv.reader, как мне вернуться в начало файла. Если бы я делал это с обычным файлом, я мог бы просто сделать что-то вроде «file.seek (0)». Есть ли что-нибудь подобное для модуля csv?

Спасибо заранее;)

Ответы [ 2 ]

69 голосов
/ 11 января 2009

Вы можете искать файл напрямую. Например:

>>> f = open("csv.txt")
>>> c = csv.reader(f)
>>> for row in c: print row
['1', '2', '3']
['4', '5', '6']
>>> f.seek(0)
>>> for row in c: print row   # again
['1', '2', '3']
['4', '5', '6']
13 голосов
/ 11 января 2009

Вы все еще можете использовать file.seek (0). Например, посмотрите на следующее:

import csv
file_handle = open("somefile.csv", "r")
reader = csv.reader(file_handle)
# Do stuff with reader
file_handle.seek(0)
# Do more stuff with reader as it is back at the beginning now

Это должно работать, так как csv.reader работает с тем же.

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