Ошибка: в BigQuery обнаружен недопустимый символ (ASCII 0) - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь загрузить CSV-файл в Bigquery, но получаю следующую ошибку:

    Error: Bad character (ASCII 0) encountered (bigquery)

Я пробовал следующее, но ничего из этого не работает:

а) Откройте файл и сохраните его как «UTF-8» в блокноте.

б) Откройте файл в блокноте ++ и используйте опцию «Искать символы по типу» - не ASCII. Не нашел ни одного символа c) Используйте блокнот ++ со следующими регулярными выражениями, не нашел ни одного символа:

   [^\x00-\x7F] and [^\x1F-\x7F]. 

d) Используйте следующую команду:

   gsutil cp gs://bucket_987234/compress_file.gz - | gunzip | tr -d '\000' | gsutil cp - gs://bucket_987234/uncompress_and_clean_file

Не сработало: «tr» не распознается как команда (я использую windows 10 и у меня нет доступа к виртуальной машине Google).

d ) Открыл файл и удалил первую строку, потом все заработало. Но я потерял строку данных, а у меня тысячи файлов.

Проблема в том, что мне нужно автоматизировать «очистку» этих файлов. Как я могу очистить этот файл в Windows, есть идеи, что еще может этот символ «ASCII 0» или как от него избавиться?

Спасибо !!

1 Ответ

0 голосов
/ 06 августа 2020

Вы можете использовать GitBash на своей машине? Если можете, я бы порекомендовал вам использовать это.

cat -v filename

Например, я создал файл с именем TESTINGCAT.txt с тремя строками, который визуально имеет 7 пустых пространств. Однако, если вы посчитаете пробелы с помощью notepad ++, вы найдете только 5, потому что 2 из этих пустых пробелов - это «неразрывные пробелы» , сгенерированные нажатием ALT + 0160. Ниже вы можете увидеть, что у меня есть в Notepad ++

enter image description here

However, if I use cat -v TESTINGCAT.txt I can see M-BM- characters, which according to это неразрывные пробелы

введите описание изображения здесь

Следовательно, если у вас нет доступа к машине Linux, вы должны попробовать использовать GitBash, чтобы увидеть скрытые символы в вашем файле.

...