CSV количество строк

 

Всем привет, как узнать количество строк в csv файле к примеру

Иван

Саша

Маша

Таня

это 4 строки, как получить количество строк? Искал примеры, не могу найти.. Спасибо. 

 
Aibek Mugiynov:

Всем привет, как узнать количество строк в csv файле к примеру

Иван

Саша

Маша

Таня

это 4 строки, как получить количество строк? Искал примеры, не могу найти.. Спасибо. 


Первое что приходит на ум. Открыть для чтения и последовательно в цикле  пока не достигнут конец файла посчитать кол-во строк.

 
Aibek Mugiynov:

Всем привет, как узнать количество строк в csv файле к примеру

Иван

Саша

Маша

Таня

это 4 строки, как получить количество строк? Искал примеры, не могу найти.. Спасибо. 

Если открыть файл в екселе, то это будет похоже на столбцы.

Если известны типы данных в строке, то можно посчитать байт в строке и весь объём файла разделить на объём одной строки.

 

Как читать отдельный столбец? Именно в csv? В тхт вроде так 

    string sDate=FileReadString(handle); 
    string sTime=FileReadString(handle);
    string sCountry=FileReadString(handle); 

в csv я тока первый столбец пока что научился читать... к примеру

Столбец 1          Столбец 2

Иван                    Иванов

Саша                   Белый

Маша                  Стасова

Таня                   Смолина

 
Aibek Mugiynov:

Как читать отдельный столбец? Именно в csv? В тхт вроде так 

в csv я тока первый столбец пока что научился читать... к примеру

Столбец 1          Столбец 2

Иван                    Иванов

Саша                   Белый

Маша                  Стасова

Таня                   Смолина


Читайте строку целиком потом используйте функцию StringSplit()


Получает из указанной строки подстроки по заданному разделителю и возвращает количество полученных подстрок.

int  StringSplit( 

   const string   string_value,       // строка для поиска подстрок 

   const ushort   separator,          // разделитель, по которому в строке будут искаться подстроки 

   string         & result[]          // массив, переданный по ссылке, для получения найденных подстрок 

   );

Параметры

string_value

[in]  Строка, из которой необходимо получить подстроки. Сама строка при этом не изменяется.

pos

[in]  Код символа разделителя. Для получения кода можно использовать функцию StringGetCharacter().

result[]

[out]  Массив строк, в который помещаются полученные подстроки.

Возвращаемое значение

Количество полученных строк в массиве result[]. Если разделитель в переданной строке не найден, то в массив будет помещена только одна исходная строка. 

Если строка string_value пустая или NULL, то функция вернет ноль. В случае ошибки функция вернет -1. Для получения кода ошибки нужно вызвать функцию GetLastError().


 
Vitalii Ananev:

Читайте строку целиком потом используйте функцию StringSplit()


Получает из указанной строки подстроки по заданному разделителю и возвращает количество полученных подстрок.

int  StringSplit( 

   const string   string_value,       // строка для поиска подстрок 

   const ushort   separator,          // разделитель, по которому в строке будут искаться подстроки 

   string         & result[]          // массив, переданный по ссылке, для получения найденных подстрок 

   );

Параметры

string_value

[in]  Строка, из которой необходимо получить подстроки. Сама строка при этом не изменяется.

pos

[in]  Код символа разделителя. Для получения кода можно использовать функцию StringGetCharacter().

result[]

[out]  Массив строк, в который помещаются полученные подстроки.

Возвращаемое значение

Количество полученных строк в массиве result[]. Если разделитель в переданной строке не найден, то в массив будет помещена только одна исходная строка. 

Если строка string_value пустая или NULL, то функция вернет ноль. В случае ошибки функция вернет -1. Для получения кода ошибки нужно вызвать функцию GetLastError().


Спасибо за разъяснения) а это точно для mql4?
 
Aibek Mugiynov:
Спасибо за разъяснения) а это точно для mql4?

Вот тут по-изучай.

А в принципе, если известно количество столбцов и их тип, то можно и так читать.

Aibek Mugiynov:

Как читать отдельный столбец? Именно в csv? В тхт вроде так

    string sDate=FileReadString(handle); 
    string sTime=FileReadString(handle);
    string sCountry=FileReadString(handle); 
FileIsLineEnding - Файловые операции - Справочник MQL4
FileIsLineEnding - Файловые операции - Справочник MQL4
  • docs.mql4.com
FileIsLineEnding - Файловые операции - Справочник MQL4
 
Aibek Mugiynov:
Спасибо за разъяснения) а это точно для mql4?

Да, описания функции я взял из справки для мт4.

 
Vitalii Ananev:

Да, описания функции я взял из справки для мт4.


Спасибо большое!

 
Alexey Viktorov:

Вот тут по-изучай.

А в принципе, если известно количество столбцов и их тип, то можно и так читать.


Спасибо!

Причина обращения: