name,number,text a,1,something here b,2,"one, two, three" c,3,"no commas here" 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

name,number,text a,1,something here b,2,"one, two, three" c,3,"no commas here"

Поиск

name,number,text a,1,something here b,2,"one, two, three" c,3,"no commas here"

 

Для работы сCSV-файлами имеются две основные функции:

 

reader(csvfile[, dialect='excel'[, fmtparam]])

 

Возвращает читающий объект,который является итератором по всем строкам заданного файла.В качестве csvfile может выступать любой объект,который поддерживает протокол итератора и возвращает строку при обращении к его методу next().Необязательный аргумент dialect,по умолчанию равный 'excel',указывает на необходимость использования того или иного набора свойств.Узнать доступные варианты можно с помощью csv.list_dialects().Аргумент может быть одной из строк,возвращаемых указанной функцией,либо экземпляром подкласса класса csv.Dialect.

 

Необязательный аргумент fmtparam служит для переназначения отдельных свойств по сравнению с заданным параметром dialect набором.Все получаемые данные являются строками.

 

writer(csvfile[, dialect='excel'[, fmtparam]])

 

Возвращает пишущий объект для записи пользовательских данных с использованием разделителя в заданный файлоподобный объект.Параметры dialect и fmtparam имеют тот же смысл,что и выше.Все данные,кроме строк,обрабатывают функцией str() перед помещением в файл.

 

В следующем примере читаетсяCSV-файл и записывается другой,где числа второго столбца увеличены на единицу:

 

import csv

 

input_file = open("pr.csv", "rb") rdr = csv.reader(input_file) output_file = open("pr1.csv", "wb") wrtr = csv.writer(output_file)

 

for rec in rdr: try:

 

rec[1] = int(rec[1]) + 1 except:

 

pass wrtr.writerow(rec)



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 64; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.156 (0.01 с.)