CSVファイルは一般的にどのように作成されますか?カンマまたはセミコロンを使用しますか?どちらを使用するかについてのアドバイスはありますか?
;
、UbuntuとWindowsの両方で自動的に認識されるを使用することでした。特定の設定を指定する必要はありません。
CSVファイルは一般的にどのように作成されますか?カンマまたはセミコロンを使用しますか?どちらを使用するかについてのアドバイスはありますか?
;
、UbuntuとWindowsの両方で自動的に認識されるを使用することでした。特定の設定を指定する必要はありません。
回答:
Windowsでは、リスト区切り文字が表示される[地域と言語のオプション]カスタマイズ画面に依存しています。これは、WindowsアプリケーションがCSV区切り文字として期待する文字です。
もちろん、これはWindowsアプリケーションでのみ効果があります。たとえば、ファイルが上記の区切り文字を使用していない場合、Excelはデータを列に自動的に分割しません。Windowsの地域設定を使用するすべてのアプリケーションで、この動作が行われます。
他のアプリケーションでCSVをインポートする必要があるWindows用のプログラムを作成していて、ターゲットマシンに設定されているリストセパレータがであることがわかっている場合は,
、それを選択します。それ以外の場合は;
、小数点、桁のグループ化の問題が少ないため、私は好みます。多くのテキストには表示されません。
sep=;
は、CSVファイルの上に配置します。
C
またはC++
:あなたは、システム全体取得するには、次のAPIを使用することができますWindowsで、またはユーザーの区切りGetLocaleInfo(lcid, LOCALE_SLIST, buff, _countof(buff));
広く認識され理解されているので、コンマに固執すると思います。ただし、必ず値を引用し、引用をエスケープしてください。
ID,NAME,AGE
"23434","Norris, Chuck","24"
"34343","Bond, James ""master""","57"
CSVは、RFC 4180(2005年)で概説されている標準形式であるため、標準に欠けることはありません。 https://www.ietf.org/rfc/rfc4180.txt
そしてその前でさえ、CSVのCは常にセミコロンではなくコンマを表してきました:(
マイクロソフトがそれを無視し続け、数十年前にそれを変えた怪物にまだ固執しているのは残念です(そうです、それはRFCが作成される前でした)。
テキストが二重引用符で囲まれている場合にのみ、テキスト内のそのような引用符は二重引用符でエスケープされます。これらの例は、同じ3つのフィールドを表しています。
1、 "このテキストには" "引用符" ""、3が含まれています
1、このテキストには「引用符」が含まれています、3
この規格は日付と時刻の値をカバーしていません。個人的には、日/月/年-月/日/年の混乱を避けるためにISO8601形式に固執しようとしています。
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はコンマ区切りファイルです。通常、区切り文字はコンマですが、区切り文字として使用される他の多くの文字を見てきました。それらはそれほど頻繁には使用されません。
何を使用するかについてアドバイスすることに関しては、私たちはあなたのアプリケーションを知る必要があります。ファイルはアプリケーション/プログラムに固有ですか、それとも他のプログラムで機能する必要がありますか?
"quote"
あなたの価値観が長ければ問題ではありません。
CSVのデフォルトのExcel区切り文字としてカンマをセミコロンに変更するには、[地域]-> [追加設定]-> [数値]タブ-> [リスト区切り文字]に移動して、;と入力します。デフォルトの代わりに、
,
小数点記号として設定されていて、,
開いたときに列が区切られたファイルをエクスポートした場合、Excelでテキストは1つの列にのみ表示されます。Excel 2013で、最初の列を選択し、[データ]-> [列へのテキストDelimited
] -> [選択]に移動し、をクリックしてNext
から選択Comma
するDelimiters
と、すぐに変更が表示され、Data preview
最後に[Finish
セミコロンについて少し言っておくだけです。多くの国では、コンマはピリオドではなく小数に使用されます。世界の半分で構成されるほとんどの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