CSVファイルは一般的にどのように作成されますか?カンマまたはセミコロンを使用しますか?どれを使うべきかについて何かアドバイスはありますか?
10 に答える
Windowsでは、リストセパレータが表示される[地域と言語のオプション]カスタマイズ画面に依存しています。これは、WindowsアプリケーションがCSV区切り文字として期待する文字です。
もちろん、これはWindowsアプリケーションでのみ効果があります。たとえば、ファイルが上記の区切り文字を使用していない場合、Excelはデータを列に自動的に分割しません。Windowsの地域設定を使用するすべてのアプリケーションで、この動作が行われます。
他のアプリケーションでCSVをインポートする必要があるWindows用のプログラムを作成していて、ターゲットマシンに設定されているリストセパレータがであることがわかっている場合は,
、それを選択してください。そうでない場合は;
、小数点、数字のグループ化の問題が少ないため、私は好みます。多くのテキストには表示されません。
CSVは、RFC 4180(2005年)で概説されている標準形式であるため、標準に欠けることはありません。 https://www.ietf.org/rfc/rfc4180.txt
そしてその前でさえ、CSVのCは常にセミコロンではなくコンマを表しています:(
マイクロソフトがそれを無視し続け、数十年前にそれを変えた怪物にまだ固執しているのは残念です(確かに、RFCが作成される前でした)。
- 引用されたテキスト内に改行がない限り、1行に1つのレコード(以下を参照)。
- 列区切り文字としてのコンマ。セミコロンはありません。
- 数値の小数点としてのPERIOD。カンマは使用しないでください。
- 「二重引用符」で囲まれたコンマ、ピリオド、改行を含むテキスト。
テキストが二重引用符で囲まれている場合にのみ、テキスト内のそのような引用符は二重引用符でエスケープされます。これらの例は、同じ3つのフィールドを表しています。
1、"このテキストには""引用符"""、3が含まれています
1、このテキストには「引用符」が含まれています、3
この規格は日付と時刻の値をカバーしていません。個人的には、日/月/年-月/日/年の混乱を避けるためにISO8601形式に固執しようとしています。
広く認識され理解されているので、コンマに固執すると思います。ただし、必ず値を引用し、引用をエスケープしてください。
ID,NAME,AGE
"23434","Norris, Chuck","24"
"34343","Bond, James ""master""","57"
1.>ファイル形式を.CSV(セミコロン区切り)に変更します
目的の結果を得るには、オプションのdelimiter
設定を一時的に変更する必要があります。Excel
Move to File -> Options -> Advanced -> Editing Section
「システム区切り文字を使用する」設定のチェックを外し、「小数点記号」フィールドにコンマを入力します。
ここで、ファイルを.CSV
形式で保存すると、セミコロンで区切られた形式で保存されます。
当初はコンマでしたが、コンマは小数点として使用されることが多いため、このような適切な区切り文字ではありません。したがって、セミコロンのような他の文字は、ほとんどが国によって異なります。
http://en.wikipedia.org/wiki/Comma-separated_values#Lack_of_a_standard
CSVはカンマ区切りファイルです。通常、区切り文字はコンマですが、区切り文字として使用される他の多くの文字を見てきました。それらはそれほど頻繁には使用されません。
何を使用するかについてアドバイスすることに関しては、私たちはあなたのアプリケーションを知る必要があります。ファイルはアプリケーション/プログラムに固有ですか、それとも他のプログラムで機能する必要がありますか?
CSVのデフォルトのExcel区切り文字としてカンマをセミコロンに変更するには、[地域]->[追加設定]->[数値]タブ->[リスト区切り文字]に移動し、;と入力します。デフォルトの代わりに、
セミコロンについていくつかのことわざを持っているだけです。多くの国では、コンマはピリオドではなく小数に使用されます。世界の半分で構成されるほとんどのEUコロニー、残りの半分は英国の標準(英国のO_Oが非常に大きい)に準拠しているため、Excelが区切り文字として認識しないため、数値を含むデータベースにコンマを使用すると頭痛の種になります。 。
私の国のベトナムと同じように、フランスの標準に従います。パートナーの香港は英国の標準を使用しているため、コンマを使用するとCSVが使用できなくなり、\tまたは;を使用します。代わりに国際的に使用されますが、CSVのドキュメントではまだ「標準」ではありません。
最良の方法は、csv拡張子の付いたテキストファイルに保存することです。
Sub ExportToCSV()
Dim i, j As Integer
Dim Name As String
Dim pathfile As String
Dim fs As Object
Dim stream As Object
Set fs = CreateObject("Scripting.FileSystemObject")
On Error GoTo fileexists
i = 15
Name = Format(Now(), "ddmmyyHHmmss")
pathfile = "D:\1\" & Name & ".csv"
Set stream = fs.CreateTextFile(pathfile, False, True)
ファイルが存在しています:
If Err.Number = 58 Then
MsgBox "File already Exists"
'Your code here
Return
End If
On Error GoTo 0
j = 1
Do Until IsEmpty(ThisWorkbook.ActiveSheet.Cells(i, 1).Value)
stream.WriteLine (ThisWorkbook.Worksheets(1).Cells(i, 1).Value & ";" & Replace(ThisWorkbook.Worksheets(1).Cells(i, 6).Value, ".", ","))
j = j + 1
i = i + 1
Loop
stream.Close
End Sub