CSVファイルのすべての列をエクセルに強制的に引用するにはどうすればいいですか?

csv microsoft-excel

Excelは、特定のフィールドの周りにのみ引用符を配置し、どのように私はすべての列の周りに引用符を使用してCSVファイルを保存するためにExcelを強制するのですか?

  104  Michael Shnitzer  2010-04-13


ベストアンサー

このページでは、馬の口から直接出てくる解答も掲載しています

Export a text file with both comma and quote delimiters in Excel - Microsoft 365 Apps
Provides the procedure to export a text file with both comma and quote delimiters in Excel

リンクが劣化した場合、検索するトピックは

“Excelでカンマ区切りと引用符区切りの両方を使用してテキストファイルをエクスポートする手順 “および/または “Q291296”

tl;dr: 彼らのマクロを使用してください

45  sahmeepee  2012-03-07


LibreOfficeまたはOpenOfficeでXLSファイルを開き、….として保存し、テキストCSVを選択すると、引用符を区切り文字として含むCSVファイルを生成することができます。例:”Smith”, “Pete”, “Smith”, “Pete”Smith”、”Pete”、”Canada”、”Jones”、”Mary”、”England “など

すべてのテキストセルを引用する」にチェックを入れるだけです。Export to CSV with LibreOffice

数値フィールドを引用するためには、保存する前にセル範囲をハイライトし、セルの書式を「テキスト」に変更してください

45  Pete  2013-09-04


この簡単な解決策を見つけました

  1. 引用符を追加したいセルをハイライトします
  2. 右クリックして移動します。セルの書式設定 → タブ。番号 → カテゴリ。カスタム
  3. Type欄に以下を貼り付けてください。"''"@"''" (詳細は後述)
  4. Click “okay”

貼り付けている文字列は"''"@"''"で、これはダブルクォート、シングルクォート、シングルクォート、ダブルクォート、@記号、ダブルクォート、シングルクォート、シングルクォート、ダブルクォート、ダブルクォートです

こちらの情報からExcel 2010用に編集しました

20  Michael  2014-08-21


Powershellは正しくダンプするようです

もしあなたがpowershellを知らないのであれば、Windowsマシン上のpowershell.exeを検索してください

import-csv C:\Temp\Myfile.csv | export-csv C:\Temp\Myfile_New.csv -NoTypeInformation -Encoding UTF8

誰かのお役に立てれば幸いです

20  ATek  2018-01-24


引用符を追加したいセルをハイライト表示します。Format -> Cells -> Custom に移動し、Type フィールドに以下をコピー/ペーストします。\”@\”手作業じゃなくてよかったと思って「OK」をクリックしてください

より。http://www.lenashore.com/2012/04/how-to-add-quotes-to-your-cells-in-excel-automatically/

5  Steve Coleman  2016-09-30


これが私にとって最も簡単でした。スプレッドシートをAccess 2010にインポートし、そこから区切りテキストファイルとしてエクスポートしました。私のフィールドの周りには引用符が付いています。今では、ステップダウンしているので、42K行で1分もかかりません

4  user326114  2014-05-23


VBAマクロを使わずに、メモ帳++や同様のマクロベースのテキストエディタを必要とする別の回避策を見つけました

ファイルをタブ区切りテキストとしてエクスポートし、エクスポートしたファイルをメモ帳++で開きます。tab」文字のすべてのインスタンスをテキスト「,」(文字通りのダブルクオート、カンマ、ダブルクオート)に置き換えてから、別のマクロを使用して、テキストの各行にダブルクオートの接頭辞と接尾辞を付けます

少しハックな感じですが、VBAマクロを動かすよりも早くできました

3  Blueacid  2014-07-09


  1. 引用符を追加したいセルをハイライトします
  2. 右クリックして移動します。セルの書式設定 → タブ。番号 → カテゴリ。カスタム
  3. Type欄に以下を貼り付けてください。"''"@"''" (詳細は後述)
  4. Click “okay”
  5. .csv ファイルをメモ帳(または同等のもの)で開きます
  6. ' ' (シングルクォートの繰り返し) をすべて " (ダブルクォート) に置き換えます
  7. すべての;を置き換える
  8. 修正した.csvファイルを保存します

3  eric  2016-10-21


メモ帳++を使用して各行の先頭に引用符を追加する場合、エクスポートしたcsvファイルを開き、1行目、1列目にカーソルを置き、メニューの編集/列編集…をクリックし、フィールド’挿入するテキスト’に’と入力すると、各行の先頭に引用符が表示され、正規表現を使用してすべてのタブを検索/置換することができます

1  Michael Zhang  2016-07-23


Windowsユーザーの方へ

  1. “名前を付けて保存 “エクセルファイルをCSVで保存
  2. 保存したファイルをMircrosoft Works Spreadsheetで開きます
  3. “スプレッドシートを「CSVとして保存」します
  4. すべての非数値フィールドに “が付くようになりました

これは、前方&ampを持っている同じキーボードの引用符ではないことに注意してください。 だから、MysqlのテーブルにロードするためにCSVを使用している場合は、切り取り、ENCLOSEDパラメータに貼り付け、それ以外の場合は、メッセージ#1083 - Field separator argument is not what is expectedを取得する理由を不思議に思うでしょう

0  Greg  2013-10-08


私は以下のようなアプローチで、エクセルで3つの列を取り、4つ目の列に文字列を組み立てました

=CHAR(34)&A2&CHAR(34)&","&CHAR(34)&B2&CHAR(34)&","&CHAR(34)&C2&CHAR(34)&""

"''"@"''"アプローチの問題点は、データの2番目の列が数字だったことですが、"''"@"''"アプローチでは数字には何もしませんでした。時々2番目の列が空白になることがありますが、最終的なテキストファイルでそれが表現されていることを確認する必要がありました

0  user415149  2015-02-03


もう一つの方法は、MSアクセス(私はver 2007を持っている)を持っている場合は、ファイルをインポートし、テキストファイルとしてエクスポートします。その後、.txtを.csvに変更します。すべての数字フィールドには二重引用符が付いていませんので、数字の周りにも二重引用符が必要な場合は、Accessの中でフィールドを数字フィールドからテキストフィールドに変更することに注意してください

0  Dean  2016-02-24


カンマ区切り、引用符付きの文字列のエクスポートは、Excel 2016とメモ帳だけで、データのコピー、数式、エクスポート、ファイルのプロパティ変更、メモ帳での置換、エクスポートしたファイルの保存、クリーンアップを使用して行うことができます。それぞれ簡単なステップです。細かいところでは

  1. エクスポートする列を新しい中間シートにコピーして元のシートを保存し、バックアップとして使用します

  2. Aという列の文字列の各文字列の末尾に、=concat("#",trim(A1),"#")という式を使って、別の列のすべての行に式を置くことができます

    • 隣接する列は同時に行うことができますが、文字列として読み込まれないように数字を引用しないでください
    • トリムは、スキルのないエクスポート動作を引き起こす可能性のある末尾のスペースを回避します
    • 文字列には ‘ ” を含めてはいけません。輸入に支障をきたす可能性があります
  3. 新しい列を A… の上にコピーして、式を運ばないように ‘123’ メソッドを使用して戻します

  4. シートをCSVファイルとして書き出し、数字を含むフィールド間にカンマを入れます

  5. file.csvのプロパティを変更して、メモ帳で開くことができるようにします

  6. メモ帳を使用して、任意の文字を ‘ ” に置き換えます。’

  7. 任意の文字として “を使用するのは賢明なように見えますが、それは別のセル、例えば’$A$50’に入れなければならず、エクスポート時に表示されるのは’ “です。” ” どうやら別の不都合な引き金になっているようだ

  8. メモ帳では、ファイルを保存して*.txtファイルにしてインポートし、中間の*.csvを削除する必要があります

  9. 余分な表計算シートのクリーンアップでミッション達成

Accessのエクスポートツールは、いつかExcelに組み込まれるかもしれません。カットアンドペーストを使用するプログラムの中で、より一般的なアプローチは、ペーストオプションに出力構造を解釈する方法とデリミタを提供する方法を選択できるようにすることでしょう

0  HGB  2016-05-30


2014年8月21日のMichaelさんの回答は本当に参考になります。しかし、私は追加のステップを実行する必要がありました

  1. .csv ファイルをメモ帳(または同等のもの)で開きます
  2. ” (繰り返しのシングルクォート) をすべて ” (ダブルクォート) に置き換えてください
  3. all ; (ドイツ語版のExcelでは区切り文字として使用されます)を , に置き換えます
  4. 修正した.csvファイルを保存します

0  None  2014-09-10


ここでは、OpenOfficeアプリを使用してExcelスプレッドシートを取得し、すべてのテキストフィールドの周りに引用符が付いたテキスト(csv)ファイルを作成する方法を説明します

OpenOfficeでExcelファイルを開き、以下の手順に従ってください

ファイル > 名前を付けて保存

これから作成するファイルの新しい名前を指定します

ファイルタイプは「テスト CSV (.csv)」を選択します

フィルタ設定の編集」のチェックボックスをオンにする

click “Save”

現在の形式を維持する」を選択

フィールドの区切り文字はカンマでなければなりません。 ,

テキストの区切り文字は引用符を使用してください。 “

すべてのテキストセルを引用する」にチェックを入れます

click “OK”

これは私には効果がありました!

0  Mary H  2019-08-19


自分でVBAマクロを作って、あっという間にCSVを作成してしまいました

それはちょうどあなたが作成する必要がある “出力 “シートに結果を入れます。 結果は、すべての列をダブルクォートし、区切り文字として”; “を追加します

あなたたちが尋ねれば、私は柔軟性を追加するためにコードにいくつかのパラメータを追加することができます

楽しんでもらえると嬉しいです

Public Sub CreateCSV()

Dim i, j, nc, nr As Integer

nr = Range("A65000").End(xlUp).Row
nc = Range("ZZ1").End(xlToLeft).Column

With Sheets("output")
.Cells.Clear

For i = 1 To nr

For j = 1 To nc

If j = 1 Then
.Cells(i, 1) = Chr(34) & Cells(i, j) & Chr(34) & ";"
ElseIf j = nc Then
.Cells(i, 1) = .Cells(i, 1) & Chr(34) & Cells(i, j) & Chr(34)
Else
.Cells(i, 1) = .Cells(i, 1) & Chr(34) & Cells(i, j) & Chr(34) & ";"
End If

Next j

Next i

End With

End Sub

0  Maxime Léger  2020-10-12


これは私のレシピです。私はこれをしなければならないのは嫌いですが、私は良い方法がありませんでした。私の場合、どのフィールドも引用符で囲まれていません。また、UTF-8エンコーディングとタブの代わりに ; を使う必要があったので、最終的にはこのようにしました

注意: シングルクォーテーションなどで囲まれた二重引用符を置くことの違法性のために、私はキーストロークとリテラル文字と文字列の両方を示すために、意図的に「キーボードの書式設定」を使用しています

  1. Excelスプレッドシートに新しい列を他のどの列よりも前に挿入します(1列目のタイトルをクリックすると、列全体が選択され、右クリックして「挿入」を選択します)
  2. 新しい列から空のセルの全範囲を選択します (デフォルトでは選択されています)。式フィールドには、好きなものを挿入してください:例えば、xxxのように。CTRL+enterを押すと、列全体を同じ値で埋めることができます
  3. Unicodeテキスト(*.txt)として保存してください
  4. メモ帳++でファイルを開きます
  5. CTRL+fを押して、検索/置換を開きます
  6. 置換タブに移動します
  7. In “Search mode” select “Extended (拡張)”
  8. 検索」フィールドには、xxxtabキーを加えて入力します
  9. 置換」フィールドには、"(ダブルクォート)を入力してください
  10. すべてを置き換える」を押します
  11. 検索」の欄に、tabキーを入れます
  12. 置換」の方は、";"(ダブルクォーテーション、セミコロン、ダブルクォーテーション)と入力します
  13. すべてを置き換える」を押します
  14. これでほぼ完了です。最後のダブルクォートについては、「検索」の欄に\rを、「置換」の欄に"\r"(ダブルクォート、バックスラッシュ、ダブルクォート)を入力します。すべてを置換」を押します
  15. 漢字などを使用していない限り、エンコードをUTF-8に変更して安全に保存することができます

-1  Pere  2014-09-16


私は何度もこの問題に遭遇しています。ここに私が考え出した最も簡単な解決策があります

  1. エクセルで保存します
  2. エクセルをAccessのテーブルにインポートします
  3. Accessからテーブルをテキストファイルにエクスポートします

アクセスすると、エクスポートの区切り文字をカンマで指定したり、テキストフィールドを引用符で修飾したりすることができます。エクスポートウィザードでは、文字列の周りの区切り文字や文字を任意に指定することができます

Access クエリを作成してフィールドを特定の順番に並べたり、Access で追加された自動 ID フィールドを非表示にしたりする必要があるかもしれません

また…一旦CSVにエクスポートした後は、二度とExcelで開かないでください。結果を見たい場合は、メモ帳で開いてください。エクセルはcsv….のデータをいじる傾向がある。確かフィールドには先頭のゼロでパッドされていたような気がします

-1  Gunther  2016-04-06


タイトルとURLをコピーしました