У меня есть этот текст, извлеченный из PDF с помощью pdftotext
tool
Пожалуйста, найдите ниже текстовую структуру
stage title1 title2 title3 title4
I value1 value2 value3
II value5 value6
stage Other1 Other2 Other3 Other4
I otherval1 otherval2 otherval3 otherval4
Теперь я хочу экспортировать этот текст в формате CSV, используя соответствующие столбцы и заголовки, или построить массив таким образом.
[
"category" => "title1",
"score" => "value1",
],
[
"category" => "title2",
"score" => "value2",
],
[
"category" => "title3",
"score" => "value3"
],
// unable to to do this
[
"category" => "title3",
"score" => "value5"
],
[
"category" => "title4",
"score" => "value6",
],
.
.
// so on
Теперь проблема
- Значения столбцов на I и II этапах являются необязательными, но любой из
строки будут содержать хотя бы одно значение для каждого столбца
- Стадия II уровня является необязательной, может существовать или нет
- Если строка этапа II существует, то по крайней мере одно значение столбца существует в
строка
Проблема, с которой я сталкиваюсь, заключается в том, как я могу отобразить
- значение5 в заголовок3
- value6 to titl4
Вот мой код парсера (PHP)
$rows = explode("\n", $pdfExtractedText);
$rows = array_values(array_filter($rows));
$categories = array_values(array_filter(explode(" ", $rows[7])));
$stage1Scores = array_values(array_filter(explode(" ", $rows[8])));
$stage2Scores = array_values(array_filter(explode(" ", $rows[9])));
var_dump($categories);
var_dump($stage1Scores);
var_dump($stage2Scores);
ВЫВОД:
// categories
array:13 [
0 => "stage"
1 => "title1"
2 => "title2"
3 => "title3"
4 => "title4"
]
//values - Index preserved so that I can map with categories
array:14 [
0 => "I"
1 => "value1"
2 => "value2"
3 => "value3"
4 => "value4"
]
// index not preserved :(
array:2 [
0 => "II"
1 => "value5",
2 => "value6"
]