a = (('foo', 'bar', 'baz'), ('A', 1, True), ('C', 7, False), ('B', 2, False), ('C', 9, True)) b = (('bar', 'foo', 'baz'), (2, 'B', False), (9, 'A', False), (3, 'B', True), (9, 'C', True)) from petl import recorddiff, look look(a) look(b) added, subtracted = recorddiff(a, b) look(added) look(subtracted) # capture table1 = [['id', 'variable', 'value'], ['1', 'A1', '12'], ['2', 'A2', '15'], ['3', 'B1', '18'], ['4', 'C12', '19']] from petl import capture, look look(table1) table2 = capture(table1, 'variable', '(\\w)(\\d+)', ['treat', 'time'])
# recorddiff() ############## import petl as etl a = [['foo', 'bar', 'baz'], ['A', 1, True], ['C', 7, False], ['B', 2, False], ['C', 9, True]] b = [['bar', 'foo', 'baz'], [2, 'B', False], [9, 'A', False], [3, 'B', True], [9, 'C', True]] added, subtracted = etl.recorddiff(a, b) added subtracted # intersection() ################ import petl as etl table1 = [['foo', 'bar', 'baz'], ['A', 1, True], ['C', 7, False], ['B', 2, False], ['C', 9, True]] table2 = [['x', 'y', 'z'], ['B', 2, False],
added, subtracted = etl.diff(a, b) # rows in b not in a added # rows in a not in b subtracted # recorddiff() ############## import petl as etl a = [['foo', 'bar', 'baz'], ['A', 1, True], ['C', 7, False], ['B', 2, False], ['C', 9, True]] b = [['bar', 'foo', 'baz'], [2, 'B', False], [9, 'A', False], [3, 'B', True], [9, 'C', True]] added, subtracted = etl.recorddiff(a, b) added subtracted # intersection() ################ import petl as etl table1 = [['foo', 'bar', 'baz'], ['A', 1, True], ['C', 7, False], ['B', 2, False], ['C', 9, True]] table2 = [['x', 'y', 'z'], ['B', 2, False], ['A', 9, False], ['B', 3, True], ['C', 9, True]] table3 = etl.intersection(table1, table2) table3