FEMM 5

Модули и функции · встроенный MicroPython FEMM 5

csv

Чтение и запись текстовых таблиц результатов FEMM.

Условия работы

csv.readerРазбирает кавычки, экранирование и многострочные поля. QUOTE_NONNUMERIC преобразует незаключённые поля в float.

csv.reader

reader(csvfile, dialect=None, **fmtparams)

Разбирает кавычки, экранирование и многострочные поля. QUOTE_NONNUMERIC преобразует незаключённые поля в float.

Аргументы

Аргументы вызова csv.reader
ИмяНазначение и допустимые значения
csvfileИтерируемый источник строк.
dialectИмя или объект диалекта; None использует excel.
fmtparamsПереопределения формата, например delimiter=";".

Возвращаемое значение

Итератор списков полей; обычно строки.

Пример

MicroPython FEMM 5
"Пример csv.reader.\nСреда: встроенный MicroPython FEMM 5.\nРазбирает кавычки, экранирование и многострочные поля. QUOTE_NONNUMERIC преобразует незаключённые поля в float.\nРезультат: Итератор списков полей; обычно строки."

import csv
rows=list(csv.reader(['I_A;B_T\n','10;0.2\n'],delimiter=';'))
assert rows[1] == ['10','0.2']

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

csv.writerСоздаёт запись таблицы с корректным экранированием.

csv.writer

writer(csvfile, dialect=None, **fmtparams)

Создаёт запись таблицы с корректным экранированием.

Аргументы

Аргументы вызова csv.writer
ИмяНазначение и допустимые значения
csvfileТекстовый объект с write(str).
dialectИмя или объект диалекта.
fmtparamsПараметры разделителей и кавычек.

Возвращаемое значение

Объект writer.

Пример

MicroPython FEMM 5
"Пример csv.writer.\nСреда: встроенный MicroPython FEMM 5.\nСоздаёт запись таблицы с корректным экранированием.\nРезультат: Объект writer."

import csv
import io
s=io.StringIO()
w=csv.writer(s,delimiter=';',lineterminator='\n')
w.writerow(['I_A','B_T'])
assert s.getvalue() == 'I_A;B_T\n'

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

csv.writer.writerowЗаписывает одну строку.

csv.writer.writerow

writer.writerow(row)

Записывает одну строку.

Аргументы

Аргументы вызова csv.writer.writerow
ИмяНазначение и допустимые значения
rowИтерируемые значения полей; None обычно записывается пустым полем.

Возвращаемое значение

Результат write текста строки, обычно число символов.

Пример

MicroPython FEMM 5
"Пример csv.writer.writerow.\nСреда: встроенный MicroPython FEMM 5.\nЗаписывает одну строку.\nРезультат: Результат write текста строки, обычно число символов."

import csv
import io
s=io.StringIO()
w=csv.writer(s,delimiter=';',lineterminator='\n')
w.writerow([10,0.2])
assert s.getvalue() == '10;0.2\n'

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

csv.writer.writerowsЗаписывает несколько строк.

csv.writer.writerows

writer.writerows(rows)

Записывает несколько строк.

Аргументы

Аргументы вызова csv.writer.writerows
ИмяНазначение и допустимые значения
rowsИтерируемая последовательность строк значений.

Возвращаемое значение

None.

Пример

MicroPython FEMM 5
"Пример csv.writer.writerows.\nСреда: встроенный MicroPython FEMM 5.\nЗаписывает несколько строк.\nРезультат: None."

import csv
import io
s=io.StringIO()
w=csv.writer(s,delimiter=';',lineterminator='\n')
w.writerows([[10,0.2],[20,0.4]])
assert s.getvalue().count('\n') == 2

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

csv.DictReaderСвязывает поля с названиями столбцов.

csv.DictReader

DictReader(f, fieldnames=None, restkey=None, restval=None, dialect=None, **fmtparams)

Связывает поля с названиями столбцов.

Аргументы

Аргументы вызова csv.DictReader
ИмяНазначение и допустимые значения
fИтерируемые строки.
fieldnamesСписок столбцов; None читает заголовок из первой строки.
restkeyКлюч списка лишних полей.
restvalЗначение отсутствующего поля.
dialectИмя/объект диалекта.
fmtparamsПереопределения формата.

Возвращаемое значение

Итератор OrderedDict.

Пример

MicroPython FEMM 5
"Пример csv.DictReader.\nСреда: встроенный MicroPython FEMM 5.\nСвязывает поля с названиями столбцов.\nРезультат: Итератор OrderedDict."

import csv
r=csv.DictReader(['I_A;B_T\n','10;0.2\n'],delimiter=';')
row=next(r)
assert row['B_T'] == '0.2'

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

csv.DictWriterЗаписывает словари в фиксированном порядке столбцов.

csv.DictWriter

DictWriter(f, fieldnames, restval="", extrasaction="raise", dialect=None, **fmtparams)

Записывает словари в фиксированном порядке столбцов.

Аргументы

Аргументы вызова csv.DictWriter
ИмяНазначение и допустимые значения
fТекстовый поток.
fieldnamesПорядок столбцов.
restvalЗаполнитель отсутствующего ключа.
extrasactionraise для ошибки на лишних ключах либо ignore.
dialectИмя/объект диалекта.
fmtparamsПараметры CSV.

Возвращаемое значение

Объект DictWriter.

Пример

MicroPython FEMM 5
"Пример csv.DictWriter.\nСреда: встроенный MicroPython FEMM 5.\nЗаписывает словари в фиксированном порядке столбцов.\nРезультат: Объект DictWriter."

import csv
import io
s=io.StringIO()
w=csv.DictWriter(s,['I_A','B_T'],lineterminator='\n')
w.writerow({'B_T':0.2,'I_A':10})
assert s.getvalue() == '10,0.2\n'

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

csv.DictWriter.writeheaderЗаписывает названия столбцов.

csv.DictWriter.writeheader

writer.writeheader()

Записывает названия столбцов.

Аргументы

Аргументы не требуются.

Возвращаемое значение

Результат writerow, обычно число символов.

Пример

MicroPython FEMM 5
"Пример csv.DictWriter.writeheader.\nСреда: встроенный MicroPython FEMM 5.\nЗаписывает названия столбцов.\nРезультат: Результат writerow, обычно число символов."

import csv
import io
s=io.StringIO()
w=csv.DictWriter(s,['I_A','B_T'],lineterminator='\n')
w.writeheader()
assert s.getvalue() == 'I_A,B_T\n'

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

csv.DictWriter.writerowЗаписывает словарь согласно fieldnames.

csv.DictWriter.writerow

writer.writerow(rowdict)

Записывает словарь согласно fieldnames.

Аргументы

Аргументы вызова csv.DictWriter.writerow
ИмяНазначение и допустимые значения
rowdictСловарь значений по имени столбца.

Возвращаемое значение

Результат write, обычно число символов.

Пример

MicroPython FEMM 5
"Пример csv.DictWriter.writerow.\nСреда: встроенный MicroPython FEMM 5.\nЗаписывает словарь согласно fieldnames.\nРезультат: Результат write, обычно число символов."

import csv
import io
s=io.StringIO()
w=csv.DictWriter(s,['I_A','B_T'],lineterminator='\n')
w.writerow({'I_A':10,'B_T':0.2})
assert s.getvalue() == '10,0.2\n'

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

csv.DictWriter.writerowsЗаписывает серию словарей.

csv.DictWriter.writerows

writer.writerows(rowdicts)

Записывает серию словарей.

Аргументы

Аргументы вызова csv.DictWriter.writerows
ИмяНазначение и допустимые значения
rowdictsИтерируемые словари.

Возвращаемое значение

None.

Пример

MicroPython FEMM 5
"Пример csv.DictWriter.writerows.\nСреда: встроенный MicroPython FEMM 5.\nЗаписывает серию словарей.\nРезультат: None."

import csv
import io
s=io.StringIO()
w=csv.DictWriter(s,['I_A','B_T'],lineterminator='\n')
w.writerows([{'I_A':10},{'I_A':20}])
assert s.getvalue().count('\n') == 2

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

csv.field_size_limitОграничивает накопление слишком длинного поля; исходный предел 131072.

csv.field_size_limit

field_size_limit(new_limit=None)

Ограничивает накопление слишком длинного поля; исходный предел 131072.

Аргументы

Аргументы вызова csv.field_size_limit
ИмяНазначение и допустимые значения
new_limitНовый предел длины одного поля в символах; None только читает предел.

Возвращаемое значение

Предыдущее целое значение предела.

Пример

MicroPython FEMM 5
"Пример csv.field_size_limit.\nСреда: встроенный MicroPython FEMM 5.\nОграничивает накопление слишком длинного поля; исходный предел 131072.\nРезультат: Предыдущее целое значение предела."

import csv
old=csv.field_size_limit()
assert isinstance(old,int) and old > 0

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

csv.get_dialectПолучает набор правил CSV; неизвестное имя вызывает csv.Error.

csv.get_dialect

get_dialect(name)

Получает набор правил CSV; неизвестное имя вызывает csv.Error.

Аргументы

Аргументы вызова csv.get_dialect
ИмяНазначение и допустимые значения
nameЗарегистрированное имя.

Возвращаемое значение

Объект Dialect.

Пример

MicroPython FEMM 5
"Пример csv.get_dialect.\nСреда: встроенный MicroPython FEMM 5.\nПолучает набор правил CSV; неизвестное имя вызывает csv.Error.\nРезультат: Объект Dialect."

import csv
assert csv.get_dialect('excel').delimiter == ','

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

csv.list_dialectsПеречисляет доступные пресеты.

csv.list_dialects

list_dialects()

Перечисляет доступные пресеты.

Аргументы

Аргументы не требуются.

Возвращаемое значение

Список зарегистрированных имён.

Пример

MicroPython FEMM 5
"Пример csv.list_dialects.\nСреда: встроенный MicroPython FEMM 5.\nПеречисляет доступные пресеты.\nРезультат: Список зарегистрированных имён."

import csv
assert 'excel' in csv.list_dialects()

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

csv.register_dialectДобавляет повторно используемый формат таблицы.

csv.register_dialect

register_dialect(name, dialect=None, **fmtparams)

Добавляет повторно используемый формат таблицы.

Аргументы

Аргументы вызова csv.register_dialect
ИмяНазначение и допустимые значения
nameИмя нового пресета.
dialectБазовый диалект или None.
fmtparamsПереопределения полей формата.

Возвращаемое значение

None.

Пример

MicroPython FEMM 5
"Пример csv.register_dialect.\nСреда: встроенный MicroPython FEMM 5.\nДобавляет повторно используемый формат таблицы.\nРезультат: None."

import csv
csv.register_dialect('femm_semicolon',delimiter=';')
assert csv.get_dialect('femm_semicolon').delimiter == ';'
csv.unregister_dialect('femm_semicolon')

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

csv.unregister_dialectУдаляет только регистрацию формата.

csv.unregister_dialect

unregister_dialect(name)

Удаляет только регистрацию формата.

Аргументы

Аргументы вызова csv.unregister_dialect
ИмяНазначение и допустимые значения
nameИмя удаляемого зарегистрированного пресета.

Возвращаемое значение

None.

Пример

MicroPython FEMM 5
"Пример csv.unregister_dialect.\nСреда: встроенный MicroPython FEMM 5.\nУдаляет только регистрацию формата.\nРезультат: None."

import csv
csv.register_dialect('femm_demo',delimiter=';')
csv.unregister_dialect('femm_demo')
assert 'femm_demo' not in csv.list_dialects()

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

csv.SnifferСоздаёт эвристический анализатор образца.

csv.Sniffer

Sniffer()

Создаёт эвристический анализатор образца.

Аргументы

Аргументы не требуются.

Возвращаемое значение

Объект определения формата.

Пример

MicroPython FEMM 5
"Пример csv.Sniffer.\nСреда: встроенный MicroPython FEMM 5.\nСоздаёт эвристический анализатор образца.\nРезультат: Объект определения формата."

import csv
d=csv.Sniffer().sniff('I;B\n10;0.2\n20;0.4\n',delimiters=';')
assert d.delimiter == ';'

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

csv.Sniffer.sniffОценивает разделители и кавычки; неоднозначный или пустой образец может вызвать csv.Error.

csv.Sniffer.sniff

sniffer.sniff(sample, delimiters=None)

Оценивает разделители и кавычки; неоднозначный или пустой образец может вызвать csv.Error.

Аргументы

Аргументы вызова csv.Sniffer.sniff
ИмяНазначение и допустимые значения
sampleТекст нескольких строк таблицы.
delimitersДопустимые символы разделителя или None.

Возвращаемое значение

Подкласс Dialect с найденными правилами.

Пример

MicroPython FEMM 5
"Пример csv.Sniffer.sniff.\nСреда: встроенный MicroPython FEMM 5.\nОценивает разделители и кавычки; неоднозначный или пустой образец может вызвать csv.Error.\nРезультат: Подкласс Dialect с найденными правилами."

import csv
d=csv.Sniffer().sniff('I;B\n10;0.2\n20;0.4\n',';')
assert d.delimiter == ';'

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

csv.Sniffer.has_headerСравнивает типы/длины первой и последующих строк; это оценка, а не доказательство.

csv.Sniffer.has_header

sniffer.has_header(sample)

Сравнивает типы/длины первой и последующих строк; это оценка, а не доказательство.

Аргументы

Аргументы вызова csv.Sniffer.has_header
ИмяНазначение и допустимые значения
sampleНесколько строк CSV, включая предполагаемый заголовок.

Возвращаемое значение

bool.

Пример

MicroPython FEMM 5
"Пример csv.Sniffer.has_header.\nСреда: встроенный MicroPython FEMM 5.\nСравнивает типы/длины первой и последующих строк; это оценка, а не доказательство.\nРезультат: bool."

import csv
assert isinstance(csv.Sniffer().has_header('I,B\n10,0.2\n20,0.4\n'),bool)

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

csv.excelСоздаёт пресет excel с заданными разделителями и кавычками.

csv.excel

excel()

Создаёт пресет excel с заданными разделителями и кавычками.

Аргументы

Аргументы не требуются.

Возвращаемое значение

Объект готового Dialect.

Пример

MicroPython FEMM 5
"Пример csv.excel.\nСреда: встроенный MicroPython FEMM 5.\nСоздаёт пресет excel с заданными разделителями и кавычками.\nРезультат: Объект готового Dialect."

import csv
assert csv.excel().delimiter == ','

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

csv.excel_tabСоздаёт пресет excel_tab с заданными разделителями и кавычками.

csv.excel_tab

excel_tab()

Создаёт пресет excel_tab с заданными разделителями и кавычками.

Аргументы

Аргументы не требуются.

Возвращаемое значение

Объект готового Dialect.

Пример

MicroPython FEMM 5
"Пример csv.excel_tab.\nСреда: встроенный MicroPython FEMM 5.\nСоздаёт пресет excel_tab с заданными разделителями и кавычками.\nРезультат: Объект готового Dialect."

import csv
assert csv.excel_tab().delimiter == '\t'

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

csv.unix_dialectСоздаёт пресет unix_dialect с заданными разделителями и кавычками.

csv.unix_dialect

unix_dialect()

Создаёт пресет unix_dialect с заданными разделителями и кавычками.

Аргументы

Аргументы не требуются.

Возвращаемое значение

Объект готового Dialect.

Пример

MicroPython FEMM 5
"Пример csv.unix_dialect.\nСреда: встроенный MicroPython FEMM 5.\nСоздаёт пресет unix_dialect с заданными разделителями и кавычками.\nРезультат: Объект готового Dialect."

import csv
assert csv.unix_dialect().delimiter == ','

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

Имена в установленной сборке

Перечень получен во встроенном интерпретаторе. Он включает функции, классы и константы. Ссылки ведут к контрактам; для прямого доступа ulab учитывайте условия этого раздела.

DialectDictReaderDictWriterErrorOrderedDictQUOTE_ALLQUOTE_MINIMALQUOTE_NONEQUOTE_NONNUMERICQUOTE_NOTNULLQUOTE_STRINGSSnifferexcelexcel_tabfield_size_limitget_dialectlist_dialectsreaderregister_dialectunix_dialectunregister_dialectwriter