Подтвердить что ты не робот

CSV с запятой или точкой с запятой?

Как создается CSV файл вообще? С запятыми или с запятой? Любые советы, по которым можно использовать?

4b9b3361

Ответ 1

В Windows это зависит от экрана настройки "Язык и региональные стандарты", где вы найдете разделитель List. Это приложения char Windows, которые ожидаются как разделитель CSV.

Конечно, это имеет эффект только в приложениях Windows, например Excel не будет автоматически разделять данные на столбцы, если файл не использует вышеупомянутый разделитель. Все приложения, использующие региональные настройки Windows, будут иметь такое поведение.

Если вы пишете программу для Windows, которая потребует импортировать CSV в другие приложения, и вы знаете, что разделитель списков, установленный для ваших целевых компьютеров, ,, затем перейдите к нему, иначе я предпочитаю ;, поскольку он вызывает меньше проблем с десятичными точками, группирует цифры и не появляется в большом количестве текста.

Ответ 2

Я бы сказал, что придерживаюсь запятой, поскольку она широко признана и понята. Не забудьте указать ваши ценности и избежать ваших котировок.

ID,NAME,AGE
"23434","Norris, Chuck","24"
"34343","Bond, James ""master""","57"

Ответ 3

CSV - стандартный формат, обозначенный в RFC 4180 (в 2005 году), поэтому нет стандарта. https://www.ietf.org/rfc/rfc4180.txt

И еще до этого C в CSV всегда стоял за Comma, а не для semiColon: (

Жаль, что Microsoft продолжает игнорировать это и все еще придерживается чудовищности, которую они превратили в десятилетия назад (да, я признаю, это было до создания RFC).

  • Одна запись в строке, если в цитированном тексте не встречается новая строка (см. ниже).
  • COMMA как разделитель столбцов. Никогда не используйте точку с запятой.
  • PERIOD как десятичная точка в числах. Никогда не запятая.
  • Текст, содержащий запятые, периоды и/или новые строки, заключенные в "двойные кавычки".
  • Только в том случае, если текст заключен в двойные кавычки, такие кавычки помечены в тексте, который вырвался удвоением. Эти примеры представляют собой те же три поля:

    1 ", этот текст содержит" "кавычки" "", 3

    1, этот текст содержит "кавычки", 3

В стандарте не указаны значения даты и времени, лично я стараюсь придерживаться формата ISO 8601, чтобы избежать путаницы день/месяц/год - месяц/день/год.

Ответ 4

Также уместно, но специально для Excel, посмотрите этот ответ и этот другой, который предлагает, вставка строки в начале CSV с помощью

"sep=,"

Чтобы сообщить excel, какой разделитель ожидать

Ответ 5

Первоначально это должно было быть запятой, однако, поскольку запятая часто используется в качестве десятичной точки, она не была бы таким хорошим разделителем, следовательно, другие, такие как точка с запятой, в основном зависящая от страны

http://en.wikipedia.org/wiki/Comma-separated_values#Lack_of_a_standard

Ответ 6

CSV является файлом, разделенным запятыми. Обычно разделитель представляет собой запятую, но я видел много других символов, используемых в качестве разделителей. Они не так часто используются.

Что касается рекомендаций относительно использования, нам необходимо знать ваше приложение. Является ли файл конкретным для вашего приложения/программы, или это необходимо для работы с другими программами?

Ответ 7

Чтобы изменить запятую на точку с запятой в качестве разделителя Excel по умолчанию для CSV - перейдите в Регион → Дополнительные настройки → Таблица номеров → Список разделителей и тип; вместо значения по умолчанию,

Ответ 8

1. > Измените формат файла на .CSV(с разделителями с запятой)

Для достижения желаемого результата нам необходимо временно изменить настройку delimiter в Excel Параметры:

Move to File -> Options -> Advanced -> Editing Section

Снимите флажок "Использовать системные разделители" и поместите запятую в поле "Десятичный разделитель".

Теперь сохраните файл в формате .CSV, и он будет сохранен в формате с разделителями с запятой.

Ответ 9

Ну просто, чтобы сказать несколько слов о запятой. Во многих странах запятая используется для десятичного периода. В основном из колоний ЕС, которые состоят из половины мира, другая половина соответствует британскому стандарту (как, черт возьми, Великобритания настолько большая O_O), что в свою очередь делает использование запятой для базы данных, которая включает число, создает большую часть головной боли, потому что Excel отказывается признать ее как разделитель.

Как мудрый в моей стране, Вьетнам, следуйте французскому стандарту, наш партнер Гонконг использует британский стандарт, поэтому запятая делает CSV непригодным, и мы используем \t или; вместо этого для международного использования, но он по-прежнему не является "стандартным" для документа CSV.

Ответ 10

лучший способ - сохранить его в текстовом файле с расширением 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)

FileExists:

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