Я пытаюсь прочитать файлы csv, используя библиотеку Python pyarrow, но у меня возникла проблема при чтении файла, потому что для некоторых полей у меня есть значения «\N» (это означает, что это нулевое значение). проблема в том, что я не могу пропустить это значение во время чтения...
вот мой код:
parse_options = csv.ParseOptions(delimiter=chr(1))
read_options = csv.ReadOptions(column_names=columns)
convert_options = csv.ConvertOptions(column_types=schema_table, include_columns=columns, include_missing_columns=True, null_values=True)
with hdfs.open_input_file("path") as f:
csv_file = csv.read_csv(f, read_options=read_options, parse_options=parse_options, convert_options=convert_options)
Ошибка, которая у меня есть:
ArrowInvalid: In CSV column #59: CSV conversion error to int64: invalid value '\N'
когда я попробовал использовать файл без значения между разделителями, у меня не возникло проблем...
большое спасибо!






parse_options = csv.ParseOptions(delimiter=chr(1), null_values=['\\N'])
read_options = csv.ReadOptions(column_names=columns)
convert_options = csv.ConvertOptions(column_types=schema_table,
include_columns=columns, include_missing_columns=True)
with hdfs.open_input_file("path") as f:
csv_file = csv.read_csv(f, read_options=read_options,
parse_options=parse_options, convert_options=convert_options)
Все, что вам нужно сделать, это указать «\N», который будет интерпретироваться как ноль, включив его в параметр null_values вашего Convert_options.
convert_options = csv.ConvertOptions(column_types=schema_table,
include_columns=columns,
include_missing_columns=True,
null_values=['\N'])
Надеюсь, поможет.
Как сейчас написано, ваш ответ неясен. Пожалуйста, отредактируйте , чтобы добавить дополнительную информацию, которая поможет другим понять, как это относится к заданному вопросу. Более подробную информацию о том, как писать хорошие ответы, вы можете найти в справочном центре.