textflint.common.utils.file_io

File io module, support csv and json.


textflint.common.utils.file_io.read_csv(path, encoding='utf-8', headers=None, sep=',', dropna=True)[source]

Construct a generator to read csv items.

Parameters
  • path – file path

  • encoding – file’s encoding, default: utf-8

  • headers – file’s headers, if None, make file’s first line as headers. default: None

  • sep – separator for each column. default: ‘,’

  • dropna – whether to ignore and drop invalid data, if False, raise ValueError when reading invalid data. default: True

Returns

generator, every time yield (line number, csv item)

textflint.common.utils.file_io.save_json(json_list, out_path, encoding='utf-8', fields=None)[source]

Save json list to json file which contains json object in each line.

Parameters
  • json_list – list of dict

  • out_path – output path

  • encoding – file’s encoding, default: utf-8

  • fields – json object’s fields that needed, if None, all fields are needed. default: None

Returns

textflint.common.utils.file_io.read_json(path, encoding='utf-8', fields=None, dropna=True)[source]

Construct a generator to read json items.

Parameters
  • path – file path

  • encoding – file’s encoding, default: utf-8

  • fields – json object’s fields that needed, if None, all fields are needed. default: None

  • dropna – whether to ignore and drop invalid data, if False, raise ValueError when reading invalid data. default: True

Returns

generator, every time yield (line number, json item)

textflint.common.utils.file_io.save_csv(json_list, out_path, encoding='utf-8', headers=None, sep=',')[source]

Save json list to csv file.

Parameters
  • json_list – list of dict

  • out_path – file path

  • encoding – file’s encoding, default: utf-8

  • headers – file’s headers, if None, make file’s first line as headers. default: None

  • sep – separator for each column. default: ‘,’

Returns