web-dev-qa-db-ja.com

CSVとして保存するとExcelが特殊文字を破壊する

クライアントから提供されたCSVファイルを使用してデータベースにデータを入力するプロジェクトに取り組んでいます。クライアントはスプレッドシートを作成し、それをアップロードするCSVとして保存し、それをデータベースに解析します。

問題は、クライアントがExcelスプレッドシートをMS-DOSの.csvファイルとして保存するたびに、特殊文字の多くが疑問符「?」に変換されることです。 ( '"/などの記号)ただし、CSVファイルを開いて手動でそれぞれの?を正しい文字に置き換えると、問題なく動作します。

問題は、データファイルが巨大であり、これを合理的に行うことができないことです。そのため、保存する方法があることを望みました。 UnicodeとASCIIとしてエクスポートしてみましたが、役に立ちませんでした。 Googleドキュメントにアップロードして再保存してみましたが、これらの文字も破損します。

20
rcooper102

DOSはUTF-8文字をサポートしていないため、CSV (Comma Delimited)ではなくCSV (MS-DOS)として保存することを選択してください。

8

考えられる回避策はUnicode Textとして保存することです(2007年にはありますが、以前の版についてはよくわかりません)。これはタブ区切りのテキストファイルとして保存します。

このファイルは私のUnicode文字を保存していました(私の場合 私はアジア文字を使っていました )。必要に応じてcsvに変換するためのツール。

しかし、私の入力では各セルにタブが埋め込まれていませんでしたが、それがどのように処理されるのかわかりません。

4

私はxlsx形式からcsv形式への保存時に(私の場合)失われた文字の問題が起こることを発見しました。 xlsxファイルを最初にxlsに、次にcsvに保存してみました。それは実際にうまくいきました。

4
Eric

私はしばらくの間この問題を抱えていて、そしてついにそれを理解するためにしばらく時間を費やしました!私は「Windows Comma Separated(.csv)」として保存することで(一見)問題を解決することができました。私は.xlsxと.xlsから試してみました、両方ともちょうど.csvにうまく変換されました。これが助けになることを願っています - 何か問題がこの方法でポップアップしたかどうか私に知らせてください。今後数週間で何か見れば報告します。

2
Courtney Lowe

これが私のために働くものです:

  1. ExcelまたはCSVでデータを修正する
  2. ファイルをUnicodeテキストとして保存
  3. メモ帳を開く
  4. NOTEPADを使用して保存したばかりのUnicodeファイルを開きます
  5. カーソルを使用して、単一のタブ5aを保持する空白の領域を強調表示します。これは1つのタブを保持するので、取得IDと要求タイプの間のスペースを使用してください。
  6. タブ文字をコピーするためにCnrl-Cを押してください
  7. Cnlr-Hと入力して置換機能ボックスを開きます。
  8. [検索する文字列]テキストボックスをクリックし、Cnlr-Vと入力してタブを貼り付けます
  9. [置換後の文字列]ボックスをクリックして、カンマを入力します。
  10. [置換]をクリックして一度テストします。ファイル内のタブがコンマに置き換えられていることを確認してください。
  11. [すべて置換]をクリックします
  12. キャンセルをクリック
  13. ファイルを保存して終了します
  14. Windowsエクスプローラで、ファイル拡張子を.csvに変更します。
2
Pat HIll

溶液:

  1. CSVファイルをメモ帳で開き(ANSIと表示されます)、メモ帳でUTF-8として保存し直します。

  2. それからインポートはうまくいくはずです。ただし、Excelで再度開くと、ExcelでネイティブにUTF-8でエンコードできないため、保存するだけでは機能しません。

  3. もう1つの選択肢は、www.LibreOffice.org(無料)のCSVファイルを処理することです。これは、UTF-8で正しくエンコードできます(私はまだ試していません)。

端数のついた商品のcsvをWooCommerceにインポートすると、同様の問題が発生しました。エラー文字これは、CSVファイルがUTF-8でエンコードされていないためです。しかし、UTF-8エンコーディングでExcelにCSVファイルを保存した後でさえ、それはまだうまくいきませんでした。

複数のフォーラムを調べてみると、ExcelではUTF-8としてエンコードするオプションがありますが、CSVとして保存すると、UTF-8を選択していてもExcelは自動的にANSIに変換し直します。

1
Hen_za

™のために私は解決策を見つけた。 .xlsxファイルで、すべての "™"を "&tr-ade;"に置き換えます。からの - を削除します。ファイルを.csvとして保存すればすべて完了です。それがあなたのために働くことを願っています。

0
mathieu

.csvフォーマットの日本語の用語をダウンロードしている間私も特殊文字の問題に直面しました。それから私はテキストファイルからデータをコピーしてスプレッドシートに貼り付けました。うまくいった!

ありがとう、Vaishakh

0
Vaishakh

Macコンピュータでは、これは私にとってうまくいったことです。

Excelではとして保存し、ドロップダウンからウィンドウコンマ区切り(CSV)を選択します。

それだけでうまくいきます!

0
Manuel Lema

ユニコードとして保存ユニコードファイルの名前を.csvに変更します( https://www.youtube.com/watch?v=1VP8__shxTg )。

0
Webmax

史上最高の解決策を見つけた:http://woshka.com/blog/Microsoft/microsoft-Excel/solve-the-problem-saving-Excel-csv- format-with-utf-8-unicode-encoding.html

リンクから:

スタートメニューを1クリック

2セレクトコントロールパネル

クラシックモードで[地域と言語]の3つのオプションを検索するか、コントロールパネルウィンドウの右上にある検索バーに名前を入力します。

詳細設定タブをクリックしてロケールをクリック

ペルシャ語、アラビア語、またはExcelでCSVに保存したいUTF-08エンコーディングプログラムをクリックします。

0
  1. Excel用のUnicode CSVアドインをダウンロードしてインストールします。
  2. 下の図に示すように、新しい[Unicode CSV]メニューからcsvを保存します。

enter image description here

0
thanos.a