CSV plugin

Плагин для работы с ячейками, строками и столбцами в CSV-файлах.

Версия: 3.0

Дата релиза: 8 июля 2022

get_cell

Получить значение ячейки

get_cell(string path, int row, int col)
path Путь к файлу
row Номер строки
col Номер столбца

Описание возврата: Возвращает текстовое значение ячейки

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $csv);

// начало теста
$test->echo_header('get_cell');

// Создать и получить путь к тестовому файлу
$filePath = $test->get_test_file_full_path('testcsv.csv');

// 1
echo "1. Получить значение ячейки [2,3]:\n";
echo $csv->get_cell($filePath, 2, 3)."\n";

// 2
echo "\n2. Получить значение ячейки [5,1]:\n";
echo $csv->get_cell($filePath, 5, 1)."\n";

// 3
echo "\n3. Получить значение не существующей ячейки:\n";
echo $csv->get_cell($filePath, 5, 500)."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, csv)

// начало теста
test.echo_header('get_cell')

// Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

// 1
echo("1. Получить значение ячейки [2,3]:\n")
echo(`${csv.get_cell(filePath, 2, 3)}\n`)

// 2
echo("\n2. Получить значение ячейки [5,1]:\n")
echo(`${csv.get_cell(filePath, 5, 1)}\n`)

// 3
echo("\n3. Получить значение не существующей ячейки:\n")
echo(`${csv.get_cell(filePath, 5, 500)}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, csv)

# начало теста
test.echo_header('get_cell')

# Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

# 1
print("1. Получить значение ячейки [2,3]:")
print(csv.get_cell(filePath, 2, 3))

# 2
print("\n2. Получить значение ячейки [5,1]:")
print(csv.get_cell(filePath, 5, 1))

# 3
print("\n3. Получить значение не существующей ячейки:")
print(csv.get_cell(filePath, 5, 500))

# конец теста
print('\n<hr><br>')

# выход
app.quit()

get_rows_count

Получить число строк в файле

get_rows_count(string path)
path Путь к файлу

Описание возврата: Кол-во строк в CSV файле

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $csv);

// начало теста
$test->echo_header('get_rows_count');

// Создать и получить путь к тестовому файлу
$filePath = $test->get_test_file_full_path('testcsv.csv');

// 1
echo "1. Получить число строк в файле:\n";
echo $csv->get_rows_count($filePath)."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, csv)

// начало теста
test.echo_header('get_rows_count')

// Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

// 1
echo("1. Получить число строк в файле:\n")
echo(`${csv.get_rows_count(filePath)}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, csv)

# начало теста
test.echo_header('get_rows_count')

# Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

# 1
print("1. Получить число строк в файле:")
print(csv.get_rows_count(filePath))

# конец теста
print('\n<hr><br>')

# выход
app.quit()

get_row

Получить текстовое представление строки

get_row(string path, int row)
path Путь к файлу
row Номер строки

Описание возврата: Текстовое представление строки

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $csv);

// начало теста
$test->echo_header('get_row');

// Создать и получить путь к тестовому файлу
$filePath = $test->get_test_file_full_path('testcsv.csv');

// 1
echo "1. Получить значение строки 5:\n";
echo $csv->get_row($filePath, 5)."\n";

// 2
echo "\n2. Получить значение строки 10:\n";
echo $csv->get_row($filePath, 10)."\n";

// 3
echo "\n3. Получить значение несуществующей строки:\n";
echo $csv->get_row($filePath, 500)."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, csv)

// начало теста
test.echo_header('get_row')

// Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

// 1
echo("1. Получить значение строки 5:\n")
echo(`${csv.get_row(filePath, 5)}\n`)

// 2
echo("\n2. Получить значение строки 10:\n")
echo(`${csv.get_row(filePath, 10)}\n`)

// 3
echo("\n3. Получить значение несуществующей строки:\n")
echo(`${csv.get_row(filePath, 500)}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, csv)

# начало теста
test.echo_header('get_row')

# Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

# 1
print("1. Получить значение строки 5:")
print(csv.get_row(filePath, 5))

# 2
print("\n2. Получить значение строки 10:")
print(csv.get_row(filePath, 10))

# 3
print("\n3. Получить значение несуществующей строки:")
print(csv.get_row(filePath, 500))

# конец теста
print('\n<hr><br>')

# выход
app.quit()

add_row

Добавить строку в конец файла

add_row(string path, string row_content)
path Путь к файлу
row_content Значение строки в формате CSV

Описание возврата: Логическое значение true в случае успешного добавления строки в конец файла

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $csv);

// начало теста
$test->echo_header('add_row');

// Создать и получить путь к тестовому файлу
$filePath = $test->get_test_file_full_path('testcsv.csv');

// 1
echo "1. Получить значение последней строки:\n";
echo $csv->get_row($filePath, $csv->get_rows_count($filePath))."\n";

// 2
echo "\n\n2. Вставить новую строку в конец файла\n";
$csv->add_row($filePath, '5.22.21;West;Thompson;Pencil;32; 1,99 ; 63,68');

// 3
echo "\n\n3. Теперь снова получить значение последней строки\n";
echo $csv->get_row($filePath, $csv->get_rows_count($filePath))."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, csv)

// начало теста
test.echo_header('add_row')

// Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

// 1
echo("1. Получить значение последней строки:\n")
echo(`${csv.get_row(filePath, csv.get_rows_count(filePath))}\n`)

// 2
echo("\n\n2. Вставить новую строку в конец файла\n")
csv.add_row(filePath, '5.22.21;West;Thompson;Pencil;32; 1,99 ; 63,68')

// 3
echo("\n\n3. Теперь снова получить значение последней строки\n")
echo(`${csv.get_row(filePath, csv.get_rows_count(filePath))}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, csv)

# начало теста
test.echo_header('add_row')

# Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

# 1
print("1. Получить значение последней строки:")
print(csv.get_row(filePath, csv.get_rows_count(filePath)))

# 2
print("\n\n2. Вставить новую строку в конец файла")
csv.add_row(filePath, '5.22.21;West;Thompson;Pencil;32; 1,99 ; 63,68')

# 3
print("\n\n3. Теперь снова получить значение последней строки")
print(csv.get_row(filePath, csv.get_rows_count(filePath)))

# конец теста
print('\n<hr><br>')

# выход
app.quit()

add_rows

Добавить несколько строк в конец файла

add_rows(string path, string rows_content)
path Путь к файлу
rows_content CSV-текст строк (разделитель - новая строка)

Описание возврата: Логическое значение true в случае успешного добавления строк в конец файла

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $csv);

// начало теста
$test->echo_header('add_rows');

// Создать и получить путь к тестовому файлу
$filePath = $test->get_test_file_full_path('testcsv.csv');

// 1
echo "1. Получить значение последних 3 строк:\n";
$rowcount = intval($csv->get_rows_count($filePath));
echo $csv->get_row($filePath, $rowcount-2)."\n";
echo $csv->get_row($filePath, $rowcount-1)."\n";
echo $csv->get_row($filePath, $rowcount)."\n";

// 2
echo "\n\n2. Вставить новые 2 строки в конец файла\n";
$csv->add_rows($filePath, '4.10.22;Central;Andrews;Pencil;66; 1,99 ; 131,34 '.PHP_EOL.'4.27.22;East;Howard;Pen;96; 4,99 ; 479,04  ');

// 3
echo "\n\n3. Теперь снова получить значение последних 3 строк:\n";
$rowcount = intval($csv->get_rows_count($filePath));
echo $csv->get_row($filePath, $rowcount-2)."\n";
echo $csv->get_row($filePath, $rowcount-1)."\n";
echo $csv->get_row($filePath, $rowcount)."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, csv)

// начало теста
test.echo_header('add_rows')

// Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

// 1
echo("1. Получить значение последних 3 строк:\n")
rowcount = parseInt(csv.get_rows_count(filePath))
echo(`${csv.get_row(filePath, rowcount-2)}\n`)
echo(`${csv.get_row(filePath, rowcount-1)}\n`)
echo(`${csv.get_row(filePath, rowcount)}\n`)

// 2
echo("\n\n2. Вставить новые 2 строки в конец файла\n")
csv.add_rows(filePath, '4.10.22;Central;Andrews;Pencil;66; 1,99 ; 131,34 \r\n4.27.22;East;Howard;Pen;96; 4,99 ; 479,04  ')

// 3
echo("\n\n3. Теперь снова получить значение последних 3 строк:\n")
rowcount = parseInt(csv.get_rows_count(filePath))
echo(`${csv.get_row(filePath, rowcount-2)}\n`)
echo(`${csv.get_row(filePath, rowcount-1)}\n`)
echo(`${csv.get_row(filePath, rowcount)}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, csv)

# начало теста
test.echo_header('add_rows')

# Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

# 1
print("1. Получить значение последних 3 строк:")
rowcount = int(csv.get_rows_count(filePath))
print(csv.get_row(filePath, rowcount-2))
print(csv.get_row(filePath, rowcount-1))
print(csv.get_row(filePath, rowcount))

# 2
print("\n\n2. Вставить новые 2 строки в конец файла")
csv.add_rows(filePath, '4.10.22;Central;Andrews;Pencil;66; 1,99 ; 131,34 \r\n4.27.22;East;Howard;Pen;96; 4,99 ; 479,04  ')

# 3
print("\n\n3. Теперь снова получить значение последних 3 строк:")
rowcount = int(csv.get_rows_count(filePath))
print(csv.get_row(filePath, rowcount-2))
print(csv.get_row(filePath, rowcount-1))
print(csv.get_row(filePath, rowcount))

# конец теста
print('\n<hr><br>')

# выход
app.quit()

add_row_by_index

Добавить строку после номера указанной строки

add_row_by_index(string path, string row_content, int row)
path Путь к файлу
row_content Значение строки в формате CSV
row Номер строки

Описание возврата: Логическое значение true в случае успешного добавления строки

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $csv);

// начало теста
$test->echo_header('add_row_by_index');

// Создать и получить путь к тестовому файлу
$filePath = $test->get_test_file_full_path('testcsv.csv');

// 1
echo "1. Получить значение строки 5:\n";
echo $csv->get_row($filePath, 5)."\n";

// 2
echo "\n\n2. Добавить новую 5 строку\n";
$csv->add_row_by_index($filePath, '4.10.22;Central;Andrews;Pencil;66; 1,99 ; 131,34 ', 4);

// 3
echo "\n\n3. Теперь снова получить значение строки 5:\n";
echo $csv->get_row($filePath, 5)."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, csv)

// начало теста
test.echo_header('add_row_by_index')

// Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

// 1
echo("1. Получить значение строки 5:\n")
echo(`${csv.get_row(filePath, 5)}\n`)

// 2
echo("\n\n2. Добавить новую 5 строку\n")
csv.add_row_by_index(filePath, '4.10.22;Central;Andrews;Pencil;66; 1,99 ; 131,34 ', 4)

// 3
echo("\n\n3. Теперь снова получить значение строки 5:\n")
echo(`${csv.get_row(filePath, 5)}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, csv)

# начало теста
test.echo_header('add_row_by_index')

# Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

# 1
print("1. Получить значение строки 5:")
print(csv.get_row(filePath, 5))

# 2
print("\n\n2. Добавить новую 5 строку")
csv.add_row_by_index(filePath, '4.10.22;Central;Andrews;Pencil;66; 1,99 ; 131,34 ', 4)

# 3
print("\n\n3. Теперь снова получить значение строки 5:")
print(csv.get_row(filePath, 5))

# конец теста
print('\n<hr><br>')

# выход
app.quit()

remove_row

Удалить строку

remove_row(string path, int row)
path Путь к файлу
row Номер строки

Описание возврата: Логическое значение true в случае успешного удаления строки

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $csv);

// начало теста
$test->echo_header('remove_row');

// Создать и получить путь к тестовому файлу
$filePath = $test->get_test_file_full_path('testcsv.csv');

// 1
echo "1. Получить значение строк 4-6:\n";
echo $csv->get_row($filePath, 4)."\n";
echo $csv->get_row($filePath, 5)."\n";
echo $csv->get_row($filePath, 6)."\n";

// 2
echo "\n\n2.  Удалить 5 строку\n";
$csv->remove_row($filePath, 5);

// 3
echo "\n\n3. Теперь снова получить значение строк 4-6:\n";
echo $csv->get_row($filePath, 4)."\n";
echo $csv->get_row($filePath, 5)."\n";
echo $csv->get_row($filePath, 6)."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, csv)

// начало теста
test.echo_header('remove_row')

// Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

// 1
echo("1. Получить значение строк 4-6:\n")
echo(`${csv.get_row(filePath, 4)}\n`)
echo(`${csv.get_row(filePath, 5)}\n`)
echo(`${csv.get_row(filePath, 6)}\n`)

// 2
echo("\n\n2.  Удалить 5 строку\n")
csv.remove_row(filePath, 5)

// 3
echo("\n\n3. Теперь снова получить значение строк 4-6:\n")
echo(`${csv.get_row(filePath, 4)}\n`)
echo(`${csv.get_row(filePath, 5)}\n`)
echo(`${csv.get_row(filePath, 6)}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, csv)

# начало теста
test.echo_header('remove_row')

# Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

# 1
print("1. Получить значение строк 4-6:")
print(csv.get_row(filePath, 4))
print(csv.get_row(filePath, 5))
print(csv.get_row(filePath, 6))

# 2
print("\n\n2.  Удалить 5 строку")
csv.remove_row(filePath, 5)

# 3
print("\n\n3. Теперь снова получить значение строк 4-6:")
print(csv.get_row(filePath, 4))
print(csv.get_row(filePath, 5))
print(csv.get_row(filePath, 6))

# конец теста
print('\n<hr><br>')

# выход
app.quit()

remove_rows

Удалить строки

remove_rows(string path, string rows)
path Путь к файлу
rows Позиции строк (разделитель ,)

Описание возврата: Логическое значение true в случае успешного удаления строк

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $csv);

// начало теста
$test->echo_header('remove_rows');

// Создать и получить путь к тестовому файлу
$filePath = $test->get_test_file_full_path('testcsv.csv');

// 1
echo "1. Получить значение строк 4-8:\n";
echo $csv->get_row($filePath, 4)."\n";
echo $csv->get_row($filePath, 5)."\n";
echo $csv->get_row($filePath, 6)."\n";
echo $csv->get_row($filePath, 7)."\n";
echo $csv->get_row($filePath, 8)."\n";

// 2
echo "\n\n2.  Удалить 5 и 6 строку\n";
$csv->remove_rows($filePath, "5,6");

// 3
echo "\n\n3. Теперь снова получить значение строк 4-6:\n";
echo $csv->get_row($filePath, 4)."\n";
echo $csv->get_row($filePath, 5)."\n";
echo $csv->get_row($filePath, 6)."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, csv)

// начало теста
test.echo_header('remove_rows')

// Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

// 1
echo("1. Получить значение строк 4-8:\n")
echo(`${csv.get_row(filePath, 4)}\n`)
echo(`${csv.get_row(filePath, 5)}\n`)
echo(`${csv.get_row(filePath, 6)}\n`)
echo(`${csv.get_row(filePath, 7)}\n`)
echo(`${csv.get_row(filePath, 8)}\n`)

// 2
echo("\n\n2.  Удалить 5 и 6 строку\n")
csv.remove_rows(filePath, "5,6")

// 3
echo("\n\n3. Теперь снова получить значение строк 4-6:\n")
echo(`${csv.get_row(filePath, 4)}\n`)
echo(`${csv.get_row(filePath, 5)}\n`)
echo(`${csv.get_row(filePath, 6)}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, csv)

# начало теста
test.echo_header('remove_rows')

# Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

# 1
print("1. Получить значение строк 4-8:")
print(csv.get_row(filePath, 4))
print(csv.get_row(filePath, 5))
print(csv.get_row(filePath, 6))
print(csv.get_row(filePath, 7))
print(csv.get_row(filePath, 8))

# 2
print("\n\n2.  Удалить 5 и 6 строку")
csv.remove_rows(filePath, "5,6")

# 3
print("\n\n3. Теперь снова получить значение строк 4-6:")
print(csv.get_row(filePath, 4))
print(csv.get_row(filePath, 5))
print(csv.get_row(filePath, 6))

# конец теста
print('\n<hr><br>')

# выход
app.quit()

clear_row

Очистить строку

clear_row(string path, int row)
path Путь к файлу
row Номер строки

Описание возврата: Логическое значение true в случае успешной очистки строки

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $csv);

// начало теста
$test->echo_header('clear_row');

// Создать и получить путь к тестовому файлу
$filePath = $test->get_test_file_full_path('testcsv.csv');

// 1
echo "1. Получить значение 5 строки:\n";
echo $csv->get_row($filePath, 5)."\n";

// 2
echo "\n\n2. Очистить 5 строку\n";
$csv->clear_row($filePath, 5);

// 3
echo "\n\n3. Теперь снова получить значение 5 строки\n";
echo $csv->get_row($filePath, 5)."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, csv)

// начало теста
test.echo_header('clear_row')

// Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

// 1
echo("1. Получить значение 5 строки:\n")
echo(`${csv.get_row(filePath, 5)}\n`)

// 2
echo("\n\n2. Очистить 5 строку\n")
csv.clear_row(filePath, 5)

// 3
echo("\n\n3. Теперь снова получить значение 5 строки\n")
echo(`${csv.get_row(filePath, 5)}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, csv)

# начало теста
test.echo_header('clear_row')

# Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

# 1
print("1. Получить значение 5 строки:")
print(csv.get_row(filePath, 5))

# 2
print("\n\n2. Очистить 5 строку")
csv.clear_row(filePath, 5)

# 3
print("\n\n3. Теперь снова получить значение 5 строки")
print(csv.get_row(filePath, 5))

# конец теста
print('\n<hr><br>')

# выход
app.quit()

change_row

Заменить строку

change_row(string path, int row, string row_content)
path Путь к файлу
row Номер строки
row_content Значение строки в формате CSV

Описание возврата: Логическое значение true в случае успешной замены строки

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $csv);

// начало теста
$test->echo_header('change_row');

// Создать и получить путь к тестовому файлу
$filePath = $test->get_test_file_full_path('testcsv.csv');

// 1
echo "1. Получить значение 5 строки:\n";
echo $csv->get_row($filePath, 5)."\n";

// 2
echo "\n\n2. Заменить 5 строку на другую\n";
$csv->change_row($filePath, 5, "5.22.21;West;Thompson;Pencil;32; 1,99 ; 63,68");

// 3
echo "\n\n3. Теперь снова получить значение 5 строки\n";
echo $csv->get_row($filePath, 5)."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, csv)

// начало теста
test.echo_header('change_row')

// Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

// 1
echo("1. Получить значение 5 строки:\n")
echo(`${csv.get_row(filePath, 5)}\n`)

// 2
echo("\n\n2. Заменить 5 строку на другую\n")
csv.change_row(filePath, 5, "5.22.21;West;Thompson;Pencil;32; 1,99 ; 63,68")

// 3
echo("\n\n3. Теперь снова получить значение 5 строки\n")
echo(`${csv.get_row(filePath, 5)}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, csv)

# начало теста
test.echo_header('change_row')

# Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

# 1
print("1. Получить значение 5 строки:")
print(csv.get_row(filePath, 5))

# 2
print("\n\n2. Заменить 5 строку на другую")
csv.change_row(filePath, 5, "5.22.21;West;Thompson;Pencil;32; 1,99 ; 63,68")

# 3
print("\n\n3. Теперь снова получить значение 5 строки")
print(csv.get_row(filePath, 5))

# конец теста
print('\n<hr><br>')

# выход
app.quit()

get_cols_count

Получить число столбцов в файле по номеру строки

get_cols_count(string path, int row=0)
path Путь к файлу
row Номер строки

Описание возврата: Максимально кол-во столбцов в CSV файле

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $csv);

// начало теста
$test->echo_header('get_cols_count');

// Создать и получить путь к тестовому файлу
$filePath = $test->get_test_file_full_path('testcsv.csv');

// 1
echo "1. Получить число столбцов:\n";
echo $csv->get_cols_count($filePath, 0)."\n";

// 2
echo "\n2. Получить число столбцов в 5 строке:\n";
echo $csv->get_cols_count($filePath, 5)."\n";

// 3
echo "\n3. Получить число столбцов в несуществующей строке:\n";
echo $csv->get_cols_count($filePath, 500)."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, csv)

// начало теста
test.echo_header('get_cols_count')

// Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

// 1
echo("1. Получить число столбцов:\n")
echo(`${csv.get_cols_count(filePath, 0)}\n`)

// 2
echo("\n2. Получить число столбцов в 5 строке:\n")
echo(`${csv.get_cols_count(filePath, 5)}\n`)

// 3
echo("\n3. Получить число столбцов в несуществующей строке:\n")
echo(`${csv.get_cols_count(filePath, 500)}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, csv)

# начало теста
test.echo_header('get_cols_count')

# Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

# 1
print("1. Получить число столбцов:")
print(csv.get_cols_count(filePath, 0))

# 2
print("\n2. Получить число столбцов в 5 строке:")
print(csv.get_cols_count(filePath, 5))

# 3
print("\n3. Получить число столбцов в несуществующей строке:")
print(csv.get_cols_count(filePath, 500))

# конец теста
print('\n<hr><br>')

# выход
app.quit()

get_col

Получить значения столбца, разделенные новой строкой

get_col(string path, int col)
path Путь к файлу
col Номер столбца

Описание возврата: Значения ячеек столбца с разделителем - новая строка

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $csv);

// начало теста
$test->echo_header('get_col');

// Создать и получить путь к тестовому файлу
$filePath = $test->get_test_file_full_path('testcsv.csv');

// 1
echo "1. Получить значение столбца 2:\n";
echo $csv->get_col($filePath, 2)."\n";

// 2
echo "\n2. Получить значение столбца 4:\n";
echo $csv->get_col($filePath, 4)."\n";

// 3
echo "\n3. Получить значение несуществующего столбца:\n";
echo $csv->get_col($filePath, 200)."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, csv)

// начало теста
test.echo_header('get_col')

// Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

// 1
echo("1. Получить значение столбца 2:\n")
echo(`${csv.get_col(filePath, 2)}\n`)

// 2
echo("\n2. Получить значение столбца 4:\n")
echo(`${csv.get_col(filePath, 4)}\n`)

// 3
echo("\n3. Получить значение несуществующего столбца:\n")
echo(`${csv.get_col(filePath, 200)}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, csv)

# начало теста
test.echo_header('get_col')

# Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

# 1
print("1. Получить значение столбца 2:")
print(csv.get_col(filePath, 2))

# 2
print("\n2. Получить значение столбца 4:")
print(csv.get_col(filePath, 4))

# 3
print("\n3. Получить значение несуществующего столбца:")
print(csv.get_col(filePath, 200))

# конец теста
print('\n<hr><br>')

# выход
app.quit()

add_col

Добавить столбец

add_col(string path, int col, string col_content)
path Путь к файлу
col Номер столбца
col_content Значения по ячейкам с разделением по переносу строки

Описание возврата: Логическое значение true в случае успешного добавления столбца

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $csv);

// начало теста
$test->echo_header('add_col');

// Создать и получить путь к тестовому файлу
$filePath = $test->get_test_file_full_path('testcsv.csv');

// 1
echo "1. Получить значение столбца 2:\n";
echo $csv->get_col($filePath, 2)."\n";

// 2
echo "\n\n2. Вставить новый столбец 2 (после первого)\n";
$arr = ['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC'];
$csv->add_col($filePath, 1, implode(PHP_EOL, $arr));

// 3
echo "\n\n3. Теперь снова получить значение столбца 2:\n";
echo $csv->get_col($filePath, 2)."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, csv)

// начало теста
test.echo_header('add_col')

// Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

// 1
echo("1. Получить значение столбца 2:\n")
echo(`${csv.get_col(filePath, 2)}\n`)

// 2
echo("\n\n2. Вставить новый столбец 2 (после первого)\n")
arr = ['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC']
csv.add_col(filePath, 1, arr.join("\r\n"))

// 3
echo("\n\n3. Теперь снова получить значение столбца 2:\n")
echo(`${csv.get_col(filePath, 2)}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, csv)

# начало теста
test.echo_header('add_col')

# Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

# 1
print("1. Получить значение столбца 2:")
print(csv.get_col(filePath, 2))

# 2
print("\n\n2. Вставить новый столбец 2 (после первого)")
arr = ['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC']
csv.add_col(filePath, 1, "\r\n".join(arr))

# 3
print("\n\n3. Теперь снова получить значение столбца 2:")
print(csv.get_col(filePath, 2))

# конец теста
print('\n<hr><br>')

# выход
app.quit()

remove_col

Удалить столбец

remove_col(string path, int col)
path Путь к файлу
col Номер столбца

Описание возврата: Логическое значение true в случае успешного удаления столбца

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $csv);

// начало теста
$test->echo_header('remove_col');

// Создать и получить путь к тестовому файлу
$filePath = $test->get_test_file_full_path('testcsv.csv');

// 1
echo("1. Получить значение столбцов 2,3,4:\n");
$col2 = explode(PHP_EOL, $csv->get_col($filePath, 2));
$col3 = explode(PHP_EOL, $csv->get_col($filePath, 3));
$col4 = explode(PHP_EOL, $csv->get_col($filePath, 4));
$combined = array_map(function($a, $b, $c) { return $a . "\t" . $b."\t".$c; }, $col2, $col3, $col4);
echo('<pre>'.implode(PHP_EOL, $combined).'</pre>');

// 2
echo("\n\n2. Удаляем столбец 3\n");
$csv->remove_col($filePath, 3);

// 3
echo("3. Теперь снова получаем значение столбцов 2,3,4:\n");
$col2 = explode(PHP_EOL, $csv->get_col($filePath, 2));
$col3 = explode(PHP_EOL, $csv->get_col($filePath, 3));
$col4 = explode(PHP_EOL, $csv->get_col($filePath, 4));
$combined = array_map(function($a, $b, $c) { return $a . "\t" . $b."\t".$c; }, $col2, $col3, $col4);
echo('<pre>'.implode(PHP_EOL, $combined).'</pre>');

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, csv)

// начало теста
test.echo_header('remove_col')

// Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

// 1
echo('1. Получить значение столбцов 2,3,4:\n')
col2 = csv.get_col(filePath, 2).split(/\r\n/)
col3 = csv.get_col(filePath, 3).split(/\r\n/)
col4 = csv.get_col(filePath, 4).split(/\r\n/)
combined = col2.map((c, i) => {
    return c + '\t' + col3[i] + '\t' + col4[i]
}).join('\n')
echo('<pre>' + combined + '</pre>')

// 2
echo('\n\n2. Удаляем столбец 3\n')
csv.remove_col(filePath, 3)

// 3
echo('3. Теперь снова получаем значение столбцов 2,3,4:\n')
col2 = csv.get_col(filePath, 2).split(/\r\n/)
col3 = csv.get_col(filePath, 3).split(/\r\n/)
col4 = csv.get_col(filePath, 4).split(/\r\n/)
combined = col2.map((c, i) => {
    return c + '\t' + col3[i] + '\t' + col4[i]
}).join('\n')
echo('<pre>' + combined + '</pre>')

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, csv)

# начало теста
test.echo_header('remove_col')

# Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

# 1
print('1. Получить значение столбцов 2,3,4:')
col2 = csv.get_col(filePath, 2).split('\r\n')
col3 = csv.get_col(filePath, 3).split('\r\n')
col4 = csv.get_col(filePath, 4).split('\r\n')
combined = '\r\n'.join([x + '\t' + col3[i] + '\t' + col4[i] for i,x in enumerate(col2)])
print('<pre>' + combined + '</pre>')

# 2
print('\n\n2. Удаляем столбец 3')
csv.remove_col(filePath, 3)

# 3
print('3. Теперь снова получаем значение столбцов 2,3,4:')
col2 = csv.get_col(filePath, 2).split('\r\n')
col3 = csv.get_col(filePath, 3).split('\r\n')
col4 = csv.get_col(filePath, 4).split('\r\n')
combined = '\r\n'.join([x + '\t' + col3[i] + '\t' + col4[i] for i,x in enumerate(col2)])
print('<pre>' + combined + '</pre>')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

clear_col

Очистить столбец

clear_col(string path, int col)
path Путь к файлу
col Номер столбца

Описание возврата: Логическое значение true в случае успешной очистки столбца

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $csv);

// начало теста
$test->echo_header('clear_col');

// Создать и получить путь к тестовому файлу
$filePath = $test->get_test_file_full_path('testcsv.csv');

// 1
echo("1. Получить значение столбцов 2,3,4:\n");
$col2 = explode(PHP_EOL, $csv->get_col($filePath, 2));
$col3 = explode(PHP_EOL, $csv->get_col($filePath, 3));
$col4 = explode(PHP_EOL, $csv->get_col($filePath, 4));
$combined = array_map(function($a, $b, $c) { return $a . "\t" . $b."\t".$c; }, $col2, $col3, $col4);
echo('<pre>'.implode(PHP_EOL, $combined).'</pre>');

// 2
echo("\n\n2. Очищаем столбец 3\n");
$csv->clear_col($filePath, 3);

// 3
echo("1. Получить значение столбцов 2,3,4:\n");
$col2 = explode(PHP_EOL, $csv->get_col($filePath, 2));
$col3 = explode(PHP_EOL, $csv->get_col($filePath, 3));
$col4 = explode(PHP_EOL, $csv->get_col($filePath, 4));
$combined = array_map(function($a, $b, $c) { return $a . "\t" . $b."\t".$c; }, $col2, $col3, $col4);
echo('<pre>'.implode(PHP_EOL, $combined).'</pre>');

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, csv)

// начало теста
test.echo_header('clear_col')

// создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

// 1
echo("1. Получить значение столбцов 2,3,4:\n")
col2 = csv.get_col(filePath, 2).split(/\r\n/)
col3 = csv.get_col(filePath, 3).split(/\r\n/)
col4 = csv.get_col(filePath, 4).split(/\r\n/)
combined = col2.map((c, i) => {
    return c + "\t" + col3[i] + "\t" + col4[i]
}).join("\n")
echo('<pre>' + combined + '</pre>')

// 2
echo("\n\n2. Очищаем столбец 3\n")
csv.clear_col(filePath, 3)

// 3
echo("1. Получить значение столбцов 2,3,4:\n")
col2 = csv.get_col(filePath, 2).split(/\r\n/)
col3 = csv.get_col(filePath, 3).split(/\r\n/)
col4 = csv.get_col(filePath, 4).split(/\r\n/)
combined = col2.map((c, i) => {
    return c + "\t" + col3[i] + "\t" + col4[i]
}).join("\n")
echo('<pre>' + combined + '</pre>')

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, csv)

# начало теста
test.echo_header('clear_col')

# Создать и получить путь к тестовому файлу
filePath = test.get_test_file_full_path('testcsv.csv')

# 1
print("1. Получить значение столбцов 2,3,4:")
col2 = csv.get_col(filePath, 2).split("\r\n")
col3 = csv.get_col(filePath, 3).split("\r\n")
col4 = csv.get_col(filePath, 4).split("\r\n")
combined = "\r\n".join([x + "\t" + col3[i] + "\t" + col4[i] for i,x in enumerate(col2)])
print('<pre>' + combined + '</pre>')

# 2
print("\n\n2. Очищаем столбец 3")
csv.clear_col(filePath, 3)

# 3
print("3. Получить значение столбцов 2,3,4:")
col2 = csv.get_col(filePath, 2).split("\r\n")
col3 = csv.get_col(filePath, 3).split("\r\n")
col4 = csv.get_col(filePath, 4).split("\r\n")
combined = "\r\n".join([x + "\t" + col3[i] + "\t" + col4[i] for i,x in enumerate(col2)])
print('<pre>' + combined + '</pre>')

# конец теста
print('\n<hr><br>')

# выход
app.quit()