You can read and write files locally with Frictionless. This is a basic functionality of Frictionless.
You can read using Package/Resource
, for example:
from pprint import pprint
from frictionless import Resource
resource = Resource(path='table.csv')
pprint(resource.read_rows())
[{'id': 1, 'name': 'english'}, {'id': 2, 'name': '中国人'}]
A similiar approach can be used for writing:
from frictionless import Resource
source = Resource(data=[['id', 'name'], [1, 'english'], [2, 'german']])
target = source.write('table-output.csv')
print(target)
print(target.to_view())
{'name': 'table-output',
'type': 'table',
'path': 'table-output.csv',
'scheme': 'file',
'format': 'csv',
'mediatype': 'text/csv'}
+----+-----------+
| id | name |
+====+===========+
| 1 | 'english' |
+----+-----------+
| 2 | 'german' |
+----+-----------+