Я планирую изменить формат файла, чтобы каждое поле должно быть заключено в двойные кавычки обязательным "A","Field1","Field2","Field3","Fi"el,d","Fi""eld"
, я хочу, чтобы разделитель был объединен, т.е. был «, (двойные кавычки с последующим запятой), как изменить команду ниже раздвоение включить два сепаратора «(двойные кавычки и запятые) вместе line.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)",15);
Что касается формата файла CSV SPLIT
ответ
как я изменить команду ниже раздвоение включить два сепаратора», (двойные кавычки и запятые)
Это сделало бы это:
line.split("\",");
Вам необходимо обрезать дополнительные кавычки, которые не удаляются сплитом. Вы могли бы также рассмотреть возможность разделения на "\",\""
.
Однако вместо того, чтобы изобретать колесо, я предлагаю вам попробовать найти существующий CSV-ридер для вашей платформы. Это будет лучше, быстрее и намного меньше работать.
Большое спасибо. Я попробую это. Comma создавала проблемы, когда в данных используются двойные кавычки. поэтому я хочу использовать два разделителя вместе. Вы ответили: «Вам нужно будет обрезать дополнительные кавычки, которые не удаляются разделом». Я этого не понимаю. Вы указываете последнее поле в строке? – Arav
Я просто написал ответ, предлагающий несколько библиотек CSV, а затем заметил, что Марк уже предложил использовать существующую библиотеку CSV. SuperCSV выглядит довольно хорошо с первого взгляда, но есть как минимум 4 человека, которые также должны выполнять эту работу. – rob
В нашем приложении мы также поддерживали файлы, разделенные запятыми, в течение многих лет. Все прошло хорошо, пока клиенты не начали добавлять двойные кавычки в строки. Мы решили эту проблему, также позволяя вставлять значения в одинарные кавычки (и не допускать одинарных кавычек между двойными кавычками или двойными кавычками между одинарными кавычками), но затем клиенты хотели добавить как одиночные, так и двойные кавычки в строки, или cann 'Сгенерировать этот файл проще, потому что охватывающие символы зависят от значений.
Затем мы начали поддерживать обратную косую черту, но ситуация только ухудшалась.
Мы, наконец, решили проблему, используя TAB в качестве разделителя (вместо запятой). TAB никогда не отображается в строковых значениях. Больше никаких цитат. Задача решена.
Большое спасибо. Уже разработали некоторые из этих систем. поэтому теперь я не могу изменить разделитель. – Arav
- 1. Что касается преобразования. Дата файла CSV
- 2. Что касается Java Split Command CSV File Parsing
- 3. Что касается Java Split Command Parsing Csv File
- 4. split Имя из файла CSV
- 5. Что касается изменения формата времени в Wdcalendar?
- 6. Что касается названия файла Flume
- 7. Что касается Java-файла закрытия
- 8. Что касается обработки ошибок для ya-csv
- 9. Что касается BigDecimal
- 10. Что касается Java String Manipulation
- 11. Резка CSV-файла с использованием split
- 12. Что касается класса сканера
- 13. Что касается метода split() в Java String API
- 14. Что касается большого десятичного разряда
- 15. Изменение формата выходного файла экспорта-CSV
- 16. изменение формата файла csv с разделителями табуляции
- 17. Что следует учитывать при разработке формата файла?
- 18. Что касается проверки файла или каталога
- 19. TCL: Что касается файла init.tcl в TCL
- 20. Что касается файла ресурсов в Blackberry
- 21. Что касается файла справки в JAVA
- 22. Что касается контроля загрузки файла в asp.net
- 23. Что касается *?
- 24. Что касается команды Grep
- 25. Что касается vsnprintf (интервью)
- 26. Что касается MemoryMappedFile?
- 27. Что касается netem
- 28. SQL Server: split CSV
- 29. Что касается геостатистики
- 30. Split CSV String
На каком языке это? Обновление: глядя на другие вопросы, которые задал плакат, я бы предположил, что это Java. –
Dupes от того же пользователя: http://stackoverflow.com/questions/2277476/regarding-java-split-command-csv-file-parsing и http://stackoverflow.com/questions/2241915/regarding-java-string- манипуляция/2241950 # 2241950 Пожалуйста, придерживайтесь ** одной ** учетной записи пользователя alltime и ** одного ** темы для вопроса/проблемы. – BalusC
Большое спасибо за вашу информацию. Я дал свой ответ, но ответа не получил. Поэтому я создал эту тему. Я создаю вопросы под одной учетной записью пользователя, не уверен, как это может быть несколько учетных записей. – Arav