Найти - Пользователи
Полная версия: модуль csv
Начало » Python для новичков » модуль csv
1
Satyr
Добрый день.
Раньше обрабатывал csv файлы в Excel посредством VBA,
проблема возникла когда появились файлы больше миллиона строк,
сейчас пытаюсь разобраться как это сделать с помощью Питона.
Собственно сам вопрос:

Такой код выводит все строки из файла:
import csv
with open('telema.csv', 'rb') as f:
reader = csv.reader(f, delimiter=';')
for row in reader:
print row
Как сделать так, чтобы выводились не все строки, а каждая n строка?
Написать цикл или использовать какую-нибудь функцию модуля?
Piton23
Используйте срез с шагом в цикле что-то типа

frequency = 10

for row in reader:
print row
Satyr
Спасибо за ответ, но такой код:
import csv
frequency = 10
with open('telema.csv', 'rb') as f:
reader = csv.reader(f, delimiter=';')
for row in reader:
print row[::frequency]
дает срез по колонкам файла,
а меня интересуют строки(
s0rg
for row in reader[::freq]:
Satyr
for row in reader[::freq]:
TypeError: '_csv.reader' object is not subscriptable
FishHook
Satyr
for row in reader[::freq]:
TypeError: '_csv.reader' object is not subscriptable
import csv
with open('1.csv', 'rb') as f:
reader = csv.reader(f, delimiter=';')

for row in reader:
print row

['A1', 'B1', 'C1']
['A2', 'B2', 'C2']
['A3', 'B3', 'C3']
['A4', 'B4', 'C4']
['A5', 'B5', 'C5']
['A6', 'B6', 'C6']
['A7', 'B7', 'C7']
['A8', 'B8', 'C8']
['A9', 'B9', 'C9']
['A10', 'B10', 'C10']
['A11', 'B11', 'C11']




import csv
with open('1.csv', 'rb') as f:
reader = csv.reader(f, delimiter=';')

for row in list(reader)[::2]:
print row

['A1', 'B1', 'C1']
['A3', 'B3', 'C3']
['A5', 'B5', 'C5']
['A7', 'B7', 'C7']
['A9', 'B9', 'C9']
['A11', 'B11', 'C11']
Satyr
Спасибо за разъяснения, работает)!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB