diff --git a/petl/test/transform/test_conversions.py b/petl/test/transform/test_conversions.py index 928f31b4..617985f6 100644 --- a/petl/test/transform/test_conversions.py +++ b/petl/test/transform/test_conversions.py @@ -214,6 +214,14 @@ def test_convertall(): ieq(expect2, table2) ieq(expect2, table2) + # test with non-string field names + table1 = (('foo', 3, 4), + (2, 2, 2)) + table2 = convertall(table1, lambda x: x**2) + expect = (('foo', 3, 4), + (4, 4, 4)) + ieq(expect, table2) + def test_convertnumbers(): diff --git a/petl/transform/conversions.py b/petl/transform/conversions.py index 5328e2d3..c699a795 100644 --- a/petl/transform/conversions.py +++ b/petl/transform/conversions.py @@ -6,7 +6,7 @@ import petl.config as config from petl.errors import ArgumentError, FieldSelectionError -from petl.util.base import Table, expr, header, Record +from petl.util.base import Table, expr, fieldnames, Record from petl.util.parsers import numparser @@ -242,7 +242,7 @@ def convertall(table, *args, **kwargs): """ # TODO don't read the data twice! - return convert(table, header(table), *args, **kwargs) + return convert(table, fieldnames(table), *args, **kwargs) Table.convertall = convertall