Member 13746934 Ответов: 1

Сравнение и замена столбцов csv-файлов


Каков код для сравнения и замены столбцов двух csv - файлов с помощью java?
Я просто попытался отобразить файл contents.so пожалуйста, помогите мне в дальнейшем шаге.

Что я уже пробовал:

public static void main(String args[]) throws FileNotFoundException, IOException
	{
		    final String file1="C://B1.csv";
		    final String file2="C://B2.csv";
		    String encoding = "UTF-8";
		    String Line;
			String nLine;
		    FileReader fr1 = new FileReader(file1);
			BufferedReader br1 = new BufferedReader(new FileReader(file1));
			FileReader fr2 = new FileReader(file2);
			BufferedReader br2 = new BufferedReader(new FileReader(file2));
			Map<String, String> s = new HashMap<String, String>();
			while ((Line = br1.readLine())!= null){
				s.put(Line.substring(0, Line.indexOf(',')), Line);
				String[] names=Line.split(",");
				String names1=names[0];
				String output1=s.get(names1);
				System.out.println(output1);
			}
			while((nLine = br2.readLine())!= null){
					s.put(nLine.substring(0, nLine.indexOf(',')), nLine);
					String[] ntid=nLine.split(",");
					String ntids=ntid[0];
					String output2=s.get(ntids);
					System.out.println(output2);
					
				}

Maciej Los

Что вы имеете в виду под этим: "сравнение и замена столбцов двух csv-файлов"?

Member 13746934

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

Maciej Los

Непонятный... Кажется, вы хотите что-то похожее на SQL Join- Разве я не прав?
[РЕДАКТИРОВАТЬ]
Проверить это: Java-ML: загрузка данных из файла

Patrice T

В чем проблема с этим кодом ?

Member 13746934

Я только что прочитал два файла, но все равно должен сравнить столбцы в этих файлах и заменить их соответствующим идентификатором в другом столбце

1 Ответов

Рейтинг:
2

Member 13749194

Вот код решения для этого
пожалуйста, проверьте.

//get the req value from map
String smap = s.get(names[0]);

if ((Line != null) && (nLine != null))
{
if(names1.equals(ntids))//compare the file
{
String value = smap;
value = value.replace(names1, ntid[1]);
System.out.println(Value);
}