4.2.1.5. JSON¶
JsonTableWriter
class can write a table to the stream
with JSON format
from a data matrix.
JSON format change if the table_name
has a valid value or not.
4.2.1.5.1. JSON with a table name¶
- Sample Code:
from pytablewriter import JsonTableWriter def main(): writer = JsonTableWriter() writer.table_name = "example_table" writer.headers = ["int", "float", "str", "bool", "mix", "time"] writer.value_matrix = [ [0, 0.1, "hoge", True, 0, "2017-01-01 03:04:05+0900"], [2, "-2.23", "foo", False, None, "2017-12-23 45:01:23+0900"], [3, 0, "bar", "true", "inf", "2017-03-03 33:44:55+0900"], [-10, -9.9, "", "FALSE", "nan", "2017-01-01 00:00:00+0900"], ] writer.write_table() if __name__ == "__main__": main()
- Output:
{ "example_table" : [ { "int": 0, "float": 0.1, "str": "hoge", "bool": true, "mix": 0, "time": "2017-01-01 03:04:05+0900" }, { "int": 2, "float": -2.23, "str": "foo", "bool": false, "mix": null, "time": "2017-12-23 12:34:51+0900" }, { "int": 3, "float": 0, "str": "bar", "bool": "true", "mix": "Infinity", "time": "2017-03-03 22:44:55+0900" }, { "int": -10, "float": -9.9, "str": "", "bool": "FALSE", "mix": "NaN", "time": "2017-01-01 00:00:00+0900" } ]}
4.2.1.5.2. JSON without a table name¶
- Sample Code:
from pytablewriter import JsonTableWriter def main(): writer = JsonTableWriter() writer.headers = ["int", "float", "str", "bool", "mix", "time"] writer.value_matrix = [ [0, 0.1, "hoge", True, 0, "2017-01-01 03:04:05+0900"], [2, "-2.23", "foo", False, None, "2017-12-23 45:01:23+0900"], [3, 0, "bar", "true", "inf", "2017-03-03 33:44:55+0900"], [-10, -9.9, "", "FALSE", "nan", "2017-01-01 00:00:00+0900"], ] writer.write_table() if __name__ == "__main__": main()
- Output:
[ { "int": 0, "float": 0.1, "str": "hoge", "bool": true, "mix": 0, "time": "2017-01-01 03:04:05+0900" }, { "int": 2, "float": -2.23, "str": "foo", "bool": false, "mix": null, "time": "2017-12-23 12:34:51+0900" }, { "int": 3, "float": 0, "str": "bar", "bool": "true", "mix": "Infinity", "time": "2017-03-03 22:44:55+0900" }, { "int": -10, "float": -9.9, "str": "", "bool": "FALSE", "mix": "NaN", "time": "2017-01-01 00:00:00+0900" } ]
4.2.1.5.3. JSON lines¶
- Sample Code:
from pytablewriter import JsonLinesTableWriter def main(): writer = JsonLinesTableWriter() writer.headers = ["int", "float", "str", "bool", "mix", "time"] writer.value_matrix = [ [0, 0.1, "hoge", True, 0, "2017-01-01 03:04:05+0900"], [2, "-2.23", "foo", False, None, "2017-12-23 45:01:23+0900"], [3, 0, "bar", "true", "inf", "2017-03-03 33:44:55+0900"], [-10, -9.9, "", "FALSE", "nan", "2017-01-01 00:00:00+0900"], ] writer.write_table() if __name__ == "__main__": main()
- Output:
{"int": 0, "float": 0.1, "str": "hoge", "bool": true, "mix": 0, "time": "2017-01-01 03:04:05+0900"} {"int": 2, "float": -2.23, "str": "foo", "bool": false, "mix": null, "time": "2017-12-23 12:34:51+0900"} {"int": 3, "float": 0, "str": "bar", "bool": "true", "mix": "Infinity", "time": "2017-03-03 22:44:55+0900"} {"int": -10, "float": -9.9, "str": "", "bool": "FALSE", "mix": "NaN", "time": "2017-01-01 00:00:00+0900"}