ODS TutorialFrictionless supports ODS parsing.CLIpip install frictionless[ods]pip install 'frictionless[ods]' # for zsh shellCopyReading Data#You can read this format using Package/Resource, for example:Pythonfrom pprint import pprintfrom frictionless import Resource resource = Resource(path='data/table.ods')pprint(resource.read_rows())Copy[{'id': 1, 'name': 'english'}, {'id': 2, 'name': 'ä¸å›½äºº'}]CopyWriting Data#The same is actual for writing:Pythonfrom pprint import pprintfrom frictionless import Resource source = Resource(data=[['id', 'name'], [1, 'english'], [2, 'german']])target = source.write('table.ods')pprint(target)Copy{'path': 'table.ods'}CopyConfiguring ODS#There is a dialect to configure how Frictionless read and write files in this format. For example:Pythonfrom frictionless import Resourcefrom frictionless.plugins.ods import OdsDialect resource = Resource(data=[['id', 'name'], [1, 'english'], [2, 'german']])resource.write('tmp/table.ods', dialect=OdsDialect(sheet='My Table'))CopyReferences:ODS Dialect