libreoffice --convert-to csvでエンコーディングを指定する


10

Excelファイルは、次を使用してCSVに変換できます。

$ libreoffice --convert-to csv --headless --outdir dir file.xlsx

すべてがうまく機能しているようです。ただし、エンコーディングは不安定なものに設定されています。LibreOffice Calcから「名前を付けて保存」を手動で行うと、UTF-8 mdash(—)の代わりに、\ 227( )が得られます。CSVでファイルを使用すると、「非ISO拡張ASCIIテキスト、非常に長い行」が表示されます。したがって、2つの質問:

  1. ここで一体何が起こっているのですか?
  2. libreofficeにUTF-8に変換するように指示するにはどうすればよいですか?

私が変換しようとしている特定のファイルはここにあります

回答:


7

どうやらLibreOfficeはデフォルトでISO-8859-1を使用しようとするため、問題が発生しているようです。 このバグレポートに対応して、新しいパラメータ--infilterが追加されました。次のコマンドは、U + 2014 em dashを生成します。

libreoffice  --convert-to csv --infilter=CSV:44,34,76,1 --headless --outdir dir file.xlsx

これをLO 5.0.3.2でテストしました。バグレポートから、このオプションを含む最も古いバージョンはLO 4.4であるようです。

次も参照してください:https : //ask.libreoffice.org/en/question/13008/how-do-i-specify-an-input-character-coding-for-a-convert-to-command-line-usage/


ありがとう!まだ成功していません。このコマンドラインを使用:libreoffice --headless --convert-to csv --infilter = CSV:44,34,76,1 file.xlsx --outdir dir; それはまだemダッシュのために0x97を持っています。私は困惑しています。私はUbuntu 14.04でLO 4.2.8.2 420m0(Build:2)を実行しています。
Scott Deerwester、

私の回答で述べたように、おそらくLO 4.4以降にアップグレードする必要があります。
ジムK

1
loffice --convert-to xlsx --infilter=csv:44,34,76 input.csv私のために働いた。リファレンス
アドビ

これらのinfilterオプションがリストされているリンクはありますか?@Adobeが投稿したリンクは古くなっています。
2018

--infilter@Adobeのコマンド(CSV入力)が機能し、OPのコマンド(XLSX入力)が機能しない理由は、入力ファイルに関するもののようです
golimar

1

あなたは試すことができます、

    $ libreoffice --convert-to \
    > csv:"Text - txt - csv (StarCalc)":"44,34,0,1,,0" \
    > --headless --outdir dir file.xlsx 

ここでは、非常に詳細なヘルプがあります。


返信いただきありがとうございます。それでも追加のトークンを受け入れることができません。--convert-to "csv:Text-txt-csv(StarCalc):44,34,76,1、、0"、--convert-to "csv:Text-txt-csv(StarCalc): 44、34、76、1、1 / 2/2/2/3/2/4/2/5/2/6/2/7/2/8/2/9/1/10/3 "およびさまざまな他の組み合わせ。助言がありますか?
Scott Deerwester、

csv:"Text - txt - csv (StarCalc)":"44,34,0,1,,0"、csv :"ダブルクォート" :"ダブルクォート"
xae

それはシェルに関連するだけですが、私はとにかく同じ結果でそれを試しました。
Scott Deerwester、

ここでは、関連タスクにunoconv直接使用sofficeしていますが、おそらく役立つでしょう。
xae
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.