API Reference¶
The “rowwapper” module¶
- class brunns.row.rowwrapper.RowWrapper(description, force_lower_case_ids=False)[source]¶
Build lightweight row tuples for DB API and csv.DictReader rows.
Inspired by Greg Stein’s lovely dtuple module, which I can’t find online any longer, isn’t on pypi, and doesn’t support Python 3 without some fixes.
Initializer takes a sequence of column descriptions, either names, or tuples of names and other metadata (which will be ignored). For instance, it’s happy to take a DB API cursor description, or a csv.DictReader’s fieldnames property. Provides a wrap(row) method for wrapping rows.
Some characters which are illegal in identifiers will be replaced when building the row tuples - currently “-” and ” ” characters will be replaced with “_”s.
>>> cursor = conn.cursor() >>> cursor.execute("SELECT kind, rating FROM sausages ORDER BY rating DESC;") >>> wrapper = RowWrapper(cursor.description) >>> rows = [wrapper.wrap(row) for row in cursor.fetchall()]
>>> reader = csv.DictReader(csv_file) >>> wrapper = RowWrapper(reader.fieldnames) >>> rows = [wrapper.wrap(row) for row in reader]