Я начинаю разрабатывать программу, которая будет автоматизировать процесс поиска и идентификации строк правильно на основе похожих строк и их идентификаторов, которые были найдены и сохранены в главном файле CSV/Excel.Редактирование файлов CSV (реализация проекта)
Прямо сейчас я хочу его правильно спроектировать, поэтому я не буду сталкиваться с проблемами позже при реализации CSV/Excel, читающей часть письма.
Я, вероятно, буду использовать OpenCSV для записи и чтения файлов, поэтому мой вопрос касается того, как я могу редактировать файл.
Последний раз, когда я занимался редактированием CSV-файлов, мне пришлось переписать каждую строку в новый или существующий файл, а не просто редактировать определенную строку. Это единственный способ сделать это?
Ex - если мой CSV-то вроде
1,2,3 and i wanted to change 1,2,3
4,5,6 4,5,6 to a,b,c a,b,c
7,8,9 7,8,9
Единственный способ будет читать каждую строку, изменить его, если это необходимо, а затем записать его снова? Нельзя просто отредактировать среднюю линию?
Причина, по которой я прошу об этом, заключается в том, что я планирую делать множество пользовательских изменений пользователя через графический интерфейс и записывать изменения в файл каждый раз, вероятно, будет очень плохо?
Я думаю, что сохранение каждой строки или ячейки в массиве и редактирование массива было бы более эффективным решением.
Какие-нибудь уловки или советы, которые вы могли бы предложить при редактировании CSV-файлов?
Боковое примечание: я, вероятно, буду делать это на Java, так как я больше всего знаком с созданием GUI с Swing, но я открыт, чтобы попробовать его на другом языке.
Спасибо. Что касается размера, я бы не думал, что это будет более 1000 строк, поэтому я предполагаю, что, как мастер растет, чтобы иметь несколько столбцов для каждого исходного столбца, он может вырасти до 10 000-15 000 строк. Длина строки должна составлять около 20-40 символов. Это займет много памяти? –
Просто выполнив математику, вы получите 600 тыс. Символов (15 000 * 40) и при условии, что символ в Java - это два байта, которые вы смотрите на 1,2 М памяти только для данных csv. Это много? Это зависит. Если вы собираетесь запускать это на более старом оборудовании или в какой-то сильно загруженной системе, то это может быть, но большинство систем сегодня пара мега-памяти - это грохот. Вы знаете больше, чем я знаю о ваших системных ограничениях. –
Мне нравится тот факт, что вы готовы уступить 15-кратный рост. Если вы поместите все в память, вы должны рассмотреть возможность проверки длины файла в начале и, если он больше, чем ваш 1.2M, даст пользователю ошибку. Таким образом, если вы столкнулись с проблемой исправления этой проблемы, вы можете решить, можно ли увеличить размер, или вам нужно создать другое решение. Вы также можете сделать лимит файлов настраиваемым в файле свойств, чтобы его можно было быстро изменить, если у аппаратного обеспечения много памяти. –