Что нового

[Массивы] Удалить одинаковые значение в файле с разделителями ?

vaf

Новичок
Сообщения
189
Репутация
2
Добрый день. У меня вопрос. Как можно удалить в файле одинаковые данные ?
Есть большой файл вот такого содержания :

1;1;1;9839849879889959961002100710141020102610311042104710481055106210671075
1;1;2;983984987988995996100210071014102010261031104210471048105510621067
1;1;3;9839849879889959961002100710141020102610311042104710481055106210671075
1;1;8;
1;1;4;9839849879889959961002100710141020102610311042104710481055106210671075
1;1;5;983984987988995996100210071014102010261031104210471048105510621067
1;1;6;9839849879889959961002100710141020102610311042104710481055106210671075
1;1;7;9839849879889959961002100710141020102610311042104710481055106210671075
1;1;15;

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

1;1;1;9839849879889959961002100710141020102610311042104710481055106210671075
1;1;5;983984987988995996100210071014102010261031104210471048105510621067
1;1;8;
Подскажите пожалуйста, как это сделать не городя забор ?
Я понимаю что это скорее всего нужно сделать через _ArrayUnique, указав там колонку, только как вот запихать файл с разделителями в один массив ? Подскажите пожалуйста примером ?
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
vaf [?]
считает всю строку, вместе с разделителями
Там последним параметром можно указать разделитель и будет создан двумерный массив.
 
Автор
V

vaf

Новичок
Сообщения
189
Репутация
2
Все перепробовал. Вот так см.ниже не работает
Код:
#include <Array.au3>
#include <File.au3>

Local $aArray
_FileReadToArray(@ScriptDir & '\players.csv', $aArray,, ";")

_ArrayDisplay ($aArray)
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
А вот так.
Код:
_FileReadToArray(@ScriptDir & '\players.csv', $aArray, "", ";")
 
Автор
V

vaf

Новичок
Сообщения
189
Репутация
2
Garrett сказал(а):
А вот так.
Код:
_FileReadToArray(@ScriptDir & '\players.csv', $aArray, "", ";")
У меня может быть версия AutoIt не та, или какие то библиотеки не подключены ? Но выдает
Incorrect number of parameters in function call.:
Хотя _FileReadToArray с минимальными параметрами (просто имя файла и массива) работает.
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
vaf [?]
версия AutoIt не та
У вас в профиле указана версия AutoIt 3.3.12.0 и именно в этом релизе появился четвёртый параметр - разделитель. Вероятно, фактически вы пользуетесь более ранней версией AutoIt. Вот так можно узнать версию
Код:
ConsoleWrite(@AutoItVersion & @CRLF)
 
Автор
V

vaf

Новичок
Сообщения
189
Репутация
2
Да, дело было в версии Autoit, файл с разделителями записал в массив, теперь как удалить одинаковые последние значения ?
указываю в _ArrayUnique нужный мне столбец, он одинаковые удаляет, но и удаляет все остальные столбцы. Подскажите пожалуйста, как удалить повторяющиеся значения только последнего столбца ?
Заранее благодарен.
1;1;1;9839849879889959961002100710141020102610311042104710481055106210671075
1;1;2;983984987988995996100210071014102010261031104210471048105510621067
1;1;3;9839849879889959961002100710141020102610311042104710481055106210671075
1;1;8;
1;1;4;9839849879889959961002100710141020102610311042104710481055106210671075
1;1;5;983984987988995996100210071014102010261031104210471048105510621067
1;1;6;9839849879889959961002100710141020102610311042104710481055106210671075
1;1;7;9839849879889959961002100710141020102610311042104710481055106210671075
1;1;15;
 
Верх