При такой формат данных одной строки в CSV-файле:Извлечение данных из конкретного формата CSV файлов
'data(g1),data(g1)','data(g2),data(g2),data(g2),,,',,,'data(g5),,,data(g5)',
Это находится в формате CSV, но для отдельной группы данных, использовать
''
группировать их, как:
.....'data(g2),data(g2),data(g2),,,'....
Но есть такие неловкие ситуации: ряд может пропустить некоторые группы, и для группы, он может пропустить некоторые поля. Но для всей недостающей части она все еще использует запятую, чтобы отделить их. Таким образом, каждая строка всегда будет иметь 6 групп данных. Тогда как я могу получить все 6 групп данных правильно (даже в нем нет ничего)?
Я пытаюсь использовать регулярные выражения, как это:
String row = <the above data row>;
String[] dataGroups = row.split(',');
Но это один определенно не будет работать, так как в каждой группе данных, также использовать запятую для разделения данных. Какие-нибудь эффективные способы использования Java? Это будет удивительным, если я могу иметь все 6 групп данных, хранящихся в
String[] dataGroups
, которые имеют длину 6 Тогда остальная часть будет легко.
Любая причина, по которой вы не используете одну из библиотек Csv (https://sourceforge.net/projects/opencsv/) или (https://sourceforge.net/projects/supercsv/?source=directory) ?? ?. Возможно, эти библиотеки могут обрабатывать формат –
. Я не думаю, что это помогает. – byteBiter
Библиотеки будут обрабатывать данные в кавычках как одно поле, поэтому вам не нужно беспокоиться о запятых, встроенных в поля –