Как читать текстовый файл столбец за столбцом в php или javascript

Я новичок в PHP / JavaScript и не знаю, как написать код для извлечения данных из текстового файла с использованием PHP / JavaScript.

Данные:

-bash-4.1$ cat Data/data/XYZ.txt
XYZ    -       -       -
Day1    12      28      MCS
Day2    15      30      PCS
Day3    18      28      LH
Day4    11      26      SUN
Day5    20      34      RA
Day6    16      26      PCS
Day7    6       15      FO
-bash-4.1$

Я хочу иметь 4 переменные, которые должны иметь значения:

v1=Day1 v2=12 v3=28 and v4=MCS**

Что я сделал, я извлек только первую строку из файла, код для того же приведен ниже.

<?php
echo '<p>Hello World</p>';
$myfile = fopen("Data/data/XYZ.txt", "r") or die("Unable to open file!");
$line=fgets($myfile);
echo $line;
fclose($myfile);?>

0

Решение

Попробуй это. Выходы:

v1=Day1 v2=12 v3=28 v4=MCS
v1=Day2 v2=15 v3=30 v4=PCS
v1=Day3 v2=18 v3=28 v4=LH
v1=Day4 v2=11 v3=26 v4=SUN
v1=Day5 v2=20 v3=34 v4=RA
v1=Day6 v2=16 v3=26 v4=PCS
v1=Day7 v2=6 v3=15 v4=FO

Смотрите комментарии для пошагового объяснения:

<?php

// Input specified as string for the sake of this demo.
$inputData = <<<EOT
XYZ    -       -       -
Day1    12      28      MCS
Day2    15      30      PCS
Day3    18      28      LH
Day4    11      26      SUN
Day5    20      34      RA
Day6    16      26      PCS
Day7    6       15      FO
EOT;
// Split string on EOL character, into array.
$input = explode(PHP_EOL, $inputData);

// Or, if you're reading from a file, comment everything above and uncomment the following line:
// $input = file('Data/data/XYZ.txt');

// $input is now an array, and allows us to iterate over it using foreach.
// $rowIndex will hold the array index, $line will hold a single line from the input.
foreach ($input as $rowIndex => $line)
{
// Skip header.
if ($rowIndex == 0)
continue;

// Trim any unwanted leading whitespace, so the resulting array starts with a usable value.
// preg_split() will split the line on whitespace, and return an array of all column values.
$cols = preg_split('/[\s]+/', trim($line));

// You can now read out the array of column values however you see fit.
$v1 = $cols[0];
$v2 = $cols[1];
$v3 = $cols[2];
$v4 = $cols[3];

echo "v1=$v1 v2=$v2 v3=$v3 v4=$v4<br>\n";
}
1

Другие решения

шаги:

1) Вы можете открыть файл, используя Еореп и вы получите содержимое в виде строки.

2) Сплит (взорваться ()) результирующая строка по символу новой строки.

3) Теперь переберите массив, полученный на шаге 2). На каждой итерации вы получите строку из файла.

Код:

<?php
// Open the file
$filename = 'xyz.txt';
$fp = fopen($filename, 'r');

// Add each line to an array
if ($fp) {
$array = explode("\n", fread($fp, filesize($filename)));
}
if (! empty($array)) {
foreach ($array as $line) {
$cols = preg_split('/[\s]+/', trim($line));
echo '<pre>';print_r($cols);echo '</pre>';
}
}
?>

Отклик:

Array
(
[0] => Day1
[1] => 12
[2] => 28
[3] => MCS
)

Array
(
[0] => Day2
[1] => 15
[2] => 30
[3] => PCS
)

Array
(
[0] => Day3
[1] => 18
[2] => 28
[3] => LH
)

Array
(
[0] => Day4
[1] => 11
[2] => 26
[3] => SUN
)

Array
(
[0] => Day5
[1] => 20
[2] => 34
[3] => RA
)

Array
(
[0] => Day6
[1] => 16
[2] => 26
[3] => PCS
)

Array
(
[0] => Day7
[1] => 6
[2] => 15
[3] => FO
)
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector