Excelは特定のフィールドのみを引用符で囲みますが、Excelですべての列を引用符で囲むCSVファイルを保存するにはどうすればよいですか?
Excelは特定のフィールドのみを引用符で囲みますが、Excelですべての列を引用符で囲むCSVファイルを保存するにはどうすればよいですか?
回答:
LibreOfficeまたはOpenOfficeでXLSファイルを開き、[名前を付けて保存...]を選択し、[テキストCSV]を選択すると、区切り文字として引用符も含むCSVファイルが生成されます。例:「Smith」、「Pete」、「Canada」、「Jones」、「Mary」、「England」
[すべてのテキストセルを引用]ボックスをオンにします。
数値フィールドも引用するには、保存する前にセル範囲を強調表示し、セルの書式を「テキスト」に変更します。
このページには、馬の口から直接来る解決策もあります。
http://support.microsoft.com/kb/291296/en-us
リンクが低下した場合、検索するトピックは次のとおりです。
「Excelでコンマと引用符の両方の区切り文字を使用してテキストファイルをエクスポートする手順」または「Q291296」
tl; dr:マクロを使用
私はこの簡単な解決策を見つけました:
"''"@"''"
(以下の詳細を参照)。貼り付ける文字列"''"@"''"
は、二重引用符、単一引用符、単一引用符、二重引用符、@記号、二重引用符、単一引用符、単一引用符、二重引用符です。
ここにある情報からExcel 2010用に編集されています。
\"@\"
Powershellは正しくダンプするようです。のようなもの
powershellを知らない場合は、Windowsマシンでpowershell.exeを検索してください。
import-csv C:\Temp\Myfile.csv | export-csv C:\Temp\Myfile_New.csv -NoTypeInformation -Encoding UTF8
それが誰かを助けることを願っています。
import-csv Myfile.csv | export-csv Myfile_quoted.csv -NoTypeInformation -Encoding UTF8
。これにより、コマンドが簡単になります。スペースまたはその他の特殊文字を含むファイル名を単一引用符で囲むことを忘れないでください。
これが私にとって最も簡単でした。スプレッドシートをAccess 2010にインポートし、そこから区切りテキストファイルとしてエクスポートしました。フィールドの周りに引用符を付けてください。私はステップダウンしているので、42k行で1分もかかりません。
VBAマクロを使用しないが、Notepad ++または同様のマクロベースのテキストエディターを必要とする別の作業を見つけました。
ファイルをタブ区切りテキストとしてエクスポートし、エクスポートしたファイルをNotepad ++で開きます。'tab'文字のすべてのインスタンスをテキスト "、"(つまり、二重引用符、コンマ、二重引用符)に置き換えてから、別のマクロを使用して、テキストの各行に二重引用符を付加します。
少しハックしますが、VBAマクロを機能させるよりも早く見つけました。
引用符を追加するセルを強調表示します。[フォーマット]-> [セル]-> [カスタムコピー/貼り付け]に移動し、[タイプ]フィールドに以下を入力します。\ "@ \" [OK]をクリックします。
From:http : //www.lenashore.com/2012/04/how-to-add-quotes-to-your-cells-in-excel-automatically/
Windowsユーザーの場合
これは、前方および後方の多様性を持つ同じキーボード引用ではないことに注意してください。
CSVを使用してMysqlテーブルにロードする場合は、ENCLOSEDパラメーターにカットアンドペーストすると、メッセージが表示される理由がわかります#1083 - Field separator argument is not what is expected
以下のアプローチを使用して、Excelで3つの列を取得し、4番目の列に文字列を作成しました。
=CHAR(34)&A2&CHAR(34)&","&CHAR(34)&B2&CHAR(34)&","&CHAR(34)&C2&CHAR(34)&""
"''"@"''"
アプローチに関する私の問題は、データの2番目の列が数値であり、この"''"@"''"
アプローチでは数値を何も使用しなかったことです。2番目の列が空白の場合もありますが、最終的なテキストファイルに表示されるようにする必要がありました。
データのコピー、数式、エクスポート、ファイルプロパティの変更、メモ帳での置換、エクスポートされたファイルの保存とクリーンアップを使用して、Excel 2016とメモ帳のみでコンマ区切りおよび引用符付き文字列をエクスポートできます。それぞれは簡単なステップです。詳細に:
エクスポートする列を新しい中間シートにコピーして、元のバックアップを保持し、新しいシートを後で削除してスプレッドシートをそのままにします。
それ以外の場合は発生しない文字、たとえば「#」または「;-)」を列内の文字列の両端に配置し、式=concat("#",trim(A1),"#")
でAと言い、別の列のすべての行に式を配置します。
「123」メソッドを使用して、新しい列をA ...にコピーして戻し、式を保持しないようにします。
シートをCSVファイルとしてエクスポートし、数字を含むフィールド間にカンマを挿入します。
file.csvプロパティを変更して、メモ帳で開くことができるようにします。
メモ帳を使用して、任意の文字を「」に置き換えます。
任意の文字として「」を使用するのが賢明なように思えますが、「$ A $ 50」などの別のセルに配置する必要があり、エクスポートに表示されるのは明らかに別の不便なトリガーです。
メモ帳でファイルを保存し、インポートする* .txtファイルにして、中間の* .csvを削除する必要があります。
余分なスプレッドシートシートのクリーンアップが完了しました。
おそらく、Accessエクスポートツールは、いつかExcelに埋め込むことができます。カットアンドペーストを使用するこれらのプログラムのより一般的なアプローチは、出力構造を解釈して区切り文字を提供する方法の選択をペーストオプションに含めることです。
2014年8月21日のマイケルの答えは、本当に役に立ちます。ただし、追加の手順を1つまたは2つ実行する必要がありました。
これが私のレシピです。私はこれをしなければならないことを嫌いますが、私はより良い方法がありませんでした。私の場合、どのフィールドにも引用符が付いていません。また、UTF-8エンコードを使用する必要がありました。タブの代わりに、これが私がやったことです。
注:単一引用符などで囲まれた二重引用符を配置することは不可能であるため、意図的に「キーボードフォーマット」を使用して、キーストロークとリテラル文字および文字列の両方を示しました。
私はこの問題に何度も遭遇しました。ここに私が思いついた最も簡単な解決策があります。
Accessでは、エクスポートの区切り文字をカンマとして指定し、テキストフィールドを引用符で修飾することを指定できます。エクスポートウィザードでは、必要な文字列を囲む区切り文字または文字を指定できます。
フィールドを特定の順序に並べ替えたり、Accessによって追加された自動IDフィールドを非表示にするために、Accessクエリを作成する必要がある場合があります。
また... CSVにエクスポートしたら、Excelで再度開かないでください。結果を確認する場合は、メモ帳で開きます。Excelにはcsvのデータが乱れる傾向があります。...正しく記憶している場合、先行ゼロが埋め込まれたフィールドだったと思います。
OpenOfficeアプリを使用してExcelスプレッドシートを取得し、すべてのテキストフィールドを引用符で囲んだテキスト(csv)ファイルを作成する方法を次に示します。
OpenOfficeでExcelファイルを開き、次の手順に従います。
ファイル>名前を付けて保存
作成しようとしているファイルに新しい名前を付けます
[ファイルの種類]で、[CSV(.csv)をテスト]を選択します
「フィルター設定の編集」チェックボックスをオンにします
「保存」をクリックします
「現在の形式を維持する」を選択します
フィールド区切り文字はカンマにする必要があります:、
テキスト区切り文字には引用符が必要です: "
[すべてのテキストセルを引用]ボックスをオンにします
「OK」をクリックします
これは私のために働いた!