0

Pythonとpandasで読んでプロットするCSVファイルがたくさんあります。

ファイル (またはファイルに関するデータ) に関する情報をプロットに追加するために、ヘッダーを分析して、そこからさまざまなもの (測定ポイントの場所、測定の種類など) を抽出しています。

問題は、ファイルがドイツ語であるため、多くのウムラウト (ü、ö、ä) が含まれていることです。今、私はそれらを完全に読んで理解できますが、私のスクリプトはできません。

u'Ümlautstring'したがって、それらを有効な 2 文字表現 (ü=ue など) に単純に置き換えて、または\xfcstringPython での使用について心配する必要がないようにします。

sed -i 's/\ä/ae/g' myfile.csv

Googleによると、トリックを行う必要がありますが、機能しません。

さらに調査したところ、問題は見つかりましたが、解決策はありません。

私の csv ファイルは でエンコードされていますがISO 8859-15、私のlocaleは ですLANG=de_DE.UTF-8。これは、私が理解している限り、sed がüISO 8859-15 では見つからない utf 8 形式で検索することを意味します。

では、ウムラウトを見つけるために sed に何を伝えなければなりませんか?

私がこれまでに見つけたもののほとんどは Perl を示唆していますが、それは実際にはオプションではありません。

4

1 に答える 1

2

LC_*envvars を使用して、sed が UTF-8 の解釈を行わないようにし、\xエスケープ シーケンスを使用して、ISO-8859-15 の 16 進値でウムラウト文字を指定できます。要するに、

LC_ALL=C sed 's/\xc4/Ae/g;s/\xd6/Oe/g;s/\xdc/Ue/g;s/\xe4/ae/g;s/\xf6/oe/g;s/\xfc/ue/g;s/\xdf/ss/g' filename

あなたが気にかけているものだと私は推測しています。

于 2015-02-19T10:45:13.660 に答える