當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python PyTorch CSVDictParser用法及代碼示例


本文簡要介紹python語言中 torchdata.datapipes.iter.CSVDictParser 的用法。

用法:

class torchdata.datapipes.iter.CSVDictParser(source_datapipe: IterDataPipe[Tuple[str, IO]], *, skip_lines: int = 0, decode: bool = True, encoding: str = 'utf-8', errors: str = 'ignore', return_path: bool = False, **fmtparams)

參數

  • source_datapipe-源 DataPipe 包含文件名和 CSV 數據流的元組

  • skip_lines-每個文件開頭要跳過的行數

  • strip_newline-如果 True ,新行字符將被剝離

  • decode-如果 True ,這將根據指定的 encoding 解碼文件的內容

  • encoding-文件的字符編碼(default=’utf-8’)

  • errors-解碼時使用的錯誤處理方案

  • return_path-如果 True ,每一行將返回一個路徑和內容的元組,而不僅僅是內容

接受由文件名和 CSV 數據流的元組組成的 DataPipe,一次一行讀取並返回 CSV 文件中的內容(函數名稱:parse_csv_as_dict )。

默認情況下,每個輸出都是 Dict,但它取決於 fmtparams 。每個文件的第一行,除非被跳過,否則將用作標題;標題行的內容將用作從其餘行生成的 Dict 的鍵。

示例

>>> from torchdata.datapipes.iter import FileLister, FileOpener
>>> import os
>>> def get_name(path_and_stream):
>>>     return os.path.basename(path_and_stream[0]), path_and_stream[1]
>>> datapipe1 = FileLister(".", "*.csv")
>>> datapipe2 = FileOpener(datapipe1, mode="b")
>>> datapipe3 = datapipe2.map(get_name)
>>> csv_dict_parser_dp = datapipe3.parse_csv_as_dict()
>>> list(csv_dict_parser_dp)
[{'key': 'a', 'item': '1'}, {'key': 'b', 'item': '2'}]

相關用法


注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torchdata.datapipes.iter.CSVDictParser。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。