Отдельные значения столбцов в CSV-файле

У меня есть CSV-файл. столбцы в файле csv - «SNo. StateName CityName AreaName PinCode NonServ.Area MessangerService Remark». Столбец CityName имеет повторяющиеся значения.

Пример: во многих записях он имеет уникальное значение (Дели). Есть ли в java подход для чтения этого CSV-файла и получения отдельных значений из этого столбца CSV-файла.


person Raghavendra Boina    schedule 24.03.2015    source источник
comment
исправление Пример: во многих записях оно имеет повторяющееся значение (Дели).   -  person Nagendra Nigade    schedule 24.03.2015
comment
какую базу данных вы используете?   -  person Nagendra Nigade    schedule 24.03.2015
comment
Нет связи с базой данных. Я буду читать только из многих CSV-файлов.   -  person Raghavendra Boina    schedule 24.03.2015
comment
почему бы вам не создать временный файл .csv, который соответствует вашим требованиям. создайте временный файл csv, используя SELECT unique(cityname) INTO OUTFILE '/tmp/temp.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM table_name; ссылку docs.oracle.com /cd/E17952_01/refman-5.5-en/select-into.html   -  person Nagendra Nigade    schedule 24.03.2015
comment
Я думаю, что лучше использовать HashSet, потому что он не допустит дубликатов. И нет необходимости создавать временный файл csv. Таким образом, создание HashSet со всеми записями из CSV-файла вернет отдельные значения столбца.   -  person Raghavendra Boina    schedule 24.03.2015
comment
Да, если у вас нет прав на внесение изменений в БД, то, как предлагает kojow, сделайте это с помощью Hashset.   -  person Nagendra Nigade    schedule 24.03.2015
comment
Я не могу получить доступ к базе данных. Я попробовал это с помощью HashSet. Теперь он работает нормально. Спасибо за ваш ответ.   -  person Raghavendra Boina    schedule 24.03.2015


Ответы (2)


Единственный способ, который я могу придумать, - это делать это построчно и сохранять каждое значение в структуру типа массива. Использование структуры набора, такой как HashSet или TreeSet, обеспечит уникальные значения.

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

person kojow7    schedule 24.03.2015
comment
Я не могу использовать соединение с базой данных. Я могу использовать только файлы csv. Я попробую с реализацией набора хэшей. Hashset не допускает дубликатов. Я думаю, что это лучший подход. - person Raghavendra Boina; 24.03.2015
comment
Я использовал HashSet, и теперь он работает нормально. - person Raghavendra Boina; 24.03.2015

df, где вы читали данные csv

df[CityName].unique()
person Community    schedule 17.06.2021