Python has a big star✨ when comes to print color in console and that is Rich
korenron your index adding in last code don't work at all.
I use deanhystad code and add index there,then show i couple of ways with Rich.
Want a Table format in console Rich can to that to.
korenron your index adding in last code don't work at all.
I use deanhystad code and add index there,then show i couple of ways with Rich.
from rich import print from rich.console import Console console = Console() canbus_data = [ "2022-03-15 15:21:19.479516: 18FF20EF: ff 7d e4 04 7d ff 00 13", "2022-03-15 15:21:19.484668: 00FF012F: 00 7d 00 7d 00 7d ff ff", "2022-03-15 15:21:19.485292: 00FF022F: ff ff ff ff ff ff ff ff", "2022-03-15 15:21:19.486379: 00FF032F: 00 20 00 00 3f ff c0 80", "2022-03-15 15:21:19.489523: 18FF20EF: ff 7d e4 04 7d ff 00 11", "2022-03-15 15:21:19.490570: 0CF101A7: 07 00 d9 08 00 00 b9 9e", "2022-03-15 15:21:19.491136: 0CFE6CEE: 4b ff ff c4 00 fe e6 08", "2022-03-15 15:21:19.491688: 18F120F0: 00 fa 19 30 13 6d 4f 4e", "2022-03-15 15:21:19.492545: 0CF00300: fd 00 ff ff ff ff ff ff", "2022-03-15 15:21:19.499572: 18FF20EF: ff 7d e4 04 7d ff 00 22", "2022-03-15 15:21:19.509498: 18FF20EF: ff 7d e0 04 7d ff 00 99", "2022-03-15 15:21:19.510157: 00FF012F: 00 7d 00 7d 00 7d ff ff", "2022-03-15 15:21:19.510678: 0CF101A7: 07 00 d2 08 00 00 b9 9f", "2022-03-15 15:21:19.511279: 00FF022F: ff ff ff ff ff ff ff ff", "2022-03-15 15:21:19.511836: 0CFE6CEE: 4b ff ff c4 00 fe e6 08", "2022-03-15 15:21:19.512420: 00FF032F: 00 20 00 00 3f ff c0 80", "2022-03-15 15:21:19.519575: 18FF20EF: ff 7d e4 04 7d ff 00 fa", ] pidvalues = {} # Last value for each ID for index, msg in enumerate(canbus_data): date, id, values = msg.split(": ") if pidvalues.get(id, None) != values: console.print(f"{index} [bold green]{id}[/]: [bold red]{values}[/]") pidvalues[id] = values
Want a Table format in console Rich can to that to.
from rich.console import Console from rich.table import Table console = Console() canbus_data = [ "2022-03-15 15:21:19.479516: 18FF20EF: ff 7d e4 04 7d ff 00 13", "2022-03-15 15:21:19.484668: 00FF012F: 00 7d 00 7d 00 7d ff ff", "2022-03-15 15:21:19.485292: 00FF022F: ff ff ff ff ff ff ff ff", "2022-03-15 15:21:19.486379: 00FF032F: 00 20 00 00 3f ff c0 80", "2022-03-15 15:21:19.489523: 18FF20EF: ff 7d e4 04 7d ff 00 11", "2022-03-15 15:21:19.490570: 0CF101A7: 07 00 d9 08 00 00 b9 9e", "2022-03-15 15:21:19.491136: 0CFE6CEE: 4b ff ff c4 00 fe e6 08", "2022-03-15 15:21:19.491688: 18F120F0: 00 fa 19 30 13 6d 4f 4e", "2022-03-15 15:21:19.492545: 0CF00300: fd 00 ff ff ff ff ff ff", "2022-03-15 15:21:19.499572: 18FF20EF: ff 7d e4 04 7d ff 00 22", "2022-03-15 15:21:19.509498: 18FF20EF: ff 7d e0 04 7d ff 00 99", "2022-03-15 15:21:19.510157: 00FF012F: 00 7d 00 7d 00 7d ff ff", "2022-03-15 15:21:19.510678: 0CF101A7: 07 00 d2 08 00 00 b9 9f", "2022-03-15 15:21:19.511279: 00FF022F: ff ff ff ff ff ff ff ff", "2022-03-15 15:21:19.511836: 0CFE6CEE: 4b ff ff c4 00 fe e6 08", "2022-03-15 15:21:19.512420: 00FF032F: 00 20 00 00 3f ff c0 80", "2022-03-15 15:21:19.519575: 18FF20EF: ff 7d e4 04 7d ff 00 fa", ] table = Table(title="Can data") table.add_column("Index", justify="right", style="red", no_wrap=True) table.add_column("Id", style="yellow") table.add_column("Values", justify="right", style="green") pidvalues = {} # Last value for each ID for index, msg in enumerate(canbus_data): date, id, values = msg.split(": ") if pidvalues.get(id, None) != values: table.add_row(f"{index}", id, values) pidvalues[id] = values console.print(table)