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


21

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

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

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


2
Excel 2007を使用している場合、[ファイルとして保存]ダイアログの[保存]ボタンの左側に[ツール]ドロップダウンがあります。weboptionを選択し、[エンコード]タブで特定のエンコードを選択できます。それが助けかどうか試してください

そのテキストの例は何ですか?
エンダーランド

1
問題は再現できません。データがMS-DOSエンコードでは表現できない文字ではなく、実際に記述したものであることを確認してください。
ユッカK.コルペラ

回答:


11

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


6

私の場合、xlsx形式からcsv形式に保存するときにのみ、文字が失われるという問題が発生することがわかりました。最初にxlsxファイルをxlsに、次にcsvに保存してみました。実際に機能しました。


これは私にはうまくいきません。私はまだ得る?csvファイル内
thanos.a

4

可能性のある回避策は、Unicode Text(2007には以前のエディションについてはわかりませんが)として保存し、タブ区切りテキストファイルとして保存することです。

このファイルは、ユニコード文字を保持し(私の場合はアジア文字を使用していました)、必要に応じてcsvに変換するために外部ツールを介して実行できるある種の区切りテキストファイルを作成しました。

ただし、入力には各セル内にタブが埋め込まれておらず、その処理方法がわかりません。


3

ここに私のために働くものがあります:

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

1
これは、Notepad ++を使用して機能しました。
ChrisB

ええ、ユニコードとしてエクスポートし、タブを見つけてコンマに置き換える必要がありました。
nilloc

2

私はこの問題をしばらくの間抱えていて、ついにそれを理解するためにしばらく時間を費やしました!「Windows Comma Separated(.csv)」として保存することで、(一見)問題を修正することができました。.xlsxと.xlsから試してみました。両方とも.csvにうまく変換されました。これがお役に立てば幸いです。この方法で問題が発生した場合はお知らせください。今後数週間にわたって何かが見られたら、報告します。


1
スーパーユーザーへようこそ。あなたが質問に答えるためにすぐに飛び込むのを見てうれしいです。
チャーリーRB

1

溶液:

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

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

  3. もう1つの選択肢は、UTF-8で正しくエンコードできるwww.LibreOffice.org(無料)のCSVファイルを操作することです(自分で試したことはありません)。

私は、分数のある製品のcsvをWooCommerceにインポートするときに同様の問題に遭遇しました。エラー文字。これは、CSVファイルがUTF-8でエンコードされていないためです。ただし、CSVファイルをUTF-8エンコードでExcelに保存した後でも、機能しませんでした。

複数のフォーラムをスクラッチした後、ExcelにはUTF-8としてエンコードするオプションがありますが、CSVとして保存すると、UTF-8を選択してもExcelは自動的にANSIに戻します。


1
  1. https://github.com/jaimonmathew/Unicode-CSV-AddinからExcel用Unicode CSVアドインをダウンロードしてインストールし ます
  2. 下の図に示すように、新しい「Unicode CSV」メニューからcsvを保存します。

ここに画像の説明を入力してください


1
このアドインへのリンクを投稿してください。
ザビエルポイナス

答えを更新して、githubページを含めました。そこでダウンロードページを見つけることができます
thanos.a

0

日本語の用語を.csv形式でダウンロードしているときに特殊文字の問題に直面しましたが、.csvファイルをテキスト形式(タブ区切り)で保存すると、日本語の文字が完全に入力されます。次に、テキストファイルからデータをコピーし、スプレッドシートに貼り付けました。うまくいきました!!!

ありがとう、ヴァイシャフ


これは質問に対する答えを提供しません。投稿者に批評または説明を依頼するには、投稿の下にコメントを残します-自分の投稿にいつでもコメントできます。評価が十分になったら、投稿にコメントできます。
ラムハウンド

0

これまでで最高のソリューションを見つけました:http : //woshka.com/blog/microsoft/microsoft-excel/solve-the-problem-saving-excel-csv-format-with-utf-8-unicode-encoding.html

リンクから:

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

2選択コントロールパネル

クラシックモードの3-Find Regional and Languageオプション、またはコントロールパネルウィンドウの右上にある検索バーにその名前を入力します

4 [詳細設定]タブをクリックし、ロケールをクリックします

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


woshka.comはもはや有効なURLではなく、現時点ではパークされたドメインです。
クレイグロンドン

0

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


0

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

Excelで[名前を付けて保存]を選択し、ドロップダウンからウィンドウコンマ区切り(CSV)を選択します。

うまくいく!!!


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.