csvファイルのString型の列に「あああ\u0000あああ」のような文字があり、「\u0000」があるとCSVファイルをBigQueryに取り込めないようです。
「\u0000」を空文字にしたいのですが「\u0000」を正規表現でマッチさせることができずにいます。
どのように正規表現で書けば良いでしょうか。
ちなみに「\u0000」はNULL文字だと思い、以下を試したのですがうまくいきませんでした。
(\u0000)
また以下の記述もうまくいきませんでした。
[\u0000]
[\\u0000]
ご教示の程、よろしくお願いいたします。
エラー内容は、以下になります。
Unexpected end of line during parsing a quoted value
エラーが発生している列にはJson形式の値が以下のように入っています。
"{"a":123, "b":"繧ケシシu0000縺"}"
上記の文字化けした状態のCSVファイルからu0000を削除するとエラーがなくなりました。
しかし、文字化けしていないテキストファイルからu0000を削除してもエラーが消えませんでした。
また同様に、「シシu0000」の部分が「\u0000」に該当しますが、
文字化けした状態のCSVファイルから「シシu0000」を削除するとエラーがなくなりました。
しかし、文字化けしていないテキストファイルから「\u0000」を削除してもエラーが消えませんでした。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
「\u0000」があるとCSVファイルをBigQueryに取り込めないようです。
無関係でしょう。
Unexpected end of line during parsing a quoted value
というエラーを見る限り、プログラムが適切な文字コードでファイルを読めていないのが読めない原因に見えます。
具体的にはUTF-8のファイルをShift_JISとして読んでいるように見えます。(これはあなたが見ている文字化けと同じものです)
上記の文字化けした状態のCSVファイルからu0000を削除するとエラーがなくなりました。
文字化けした状態のファイルを編集して上書きしたということでしょうか。ファイルの他の部分が破壊されますのであまり意味のある結果にはなりません。
エラーが無くなったのは複数バイトで構成される文字が半端にずれたために化け方が変わったためかと思います。
「シシu0000」の部分が「\u0000」に該当します
いいえ違います。シシの前の1バイトからです。文字化けした状態では一般的に文字の区切りが変化するので元の文字に対応する部分を切り出せるとは限りません。
投稿2021/01/11 12:11
総合スコア3047
0
ベストアンサー
全角バックスラッシュは、単なる文字列なので、正規表現とか必要なく、
Python
1foo = foo.replace("\u0000","")
で。
投稿2021/01/10 08:24
総合スコア85901
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/10 08:37
2021/01/10 08:45
2021/01/10 08:50
2021/01/10 09:03
2021/01/10 09:08
2021/01/10 10:11 編集
2021/01/10 10:21
2021/01/10 10:29
2021/01/10 10:35 編集
2021/01/10 10:56
2021/01/10 12:43
2021/01/10 12:55
2021/01/10 14:48
2021/01/10 15:20
2021/01/10 15:39
2021/01/10 17:21
2021/01/11 00:55
2021/01/11 10:52
0
全角スラッシュはメタ文字ではなく普通の文字ですから、\u0000
と普通に書けばいいだけですね。
投稿2021/01/10 07:51
総合スコア13692
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/10 08:04
2021/01/10 08:34
2021/01/10 08:37
2021/01/10 08:38
2021/01/10 08:44
2021/01/10 08:53
2021/01/10 09:18
2021/01/10 10:09
2021/01/10 10:18
2021/01/10 10:26
2021/01/10 10:28
2021/01/10 15:25
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/11 13:31 編集