Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/29: Рейтинг темы: голосов - 29, средняя оценка - 4.62
148 / 4 / 0
Регистрация: 19.02.2013
Сообщений: 369

Как сделать массив данных из txt-файла?

24.08.2016, 11:13. Показов 5834. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, есть тхт AA.txt в нём данные мне нужны все индексы и их значения начиная с tiker
индекс ticker значение AA и тд
нужно создать тхт с названием индекса и записать в него его значение
tiker.txt->AA
Спасибо
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.08.2016, 11:13
Ответы с готовыми решениями:

Как из файла txt сделать char массив java
Как из файла txt сделать char массив java чтобы в дальнейшем работать уже с массивом вот что получилось у меня import...

Как сделать перенос из отдного txt файла текста в другой txt файл в Turbo C?
Надо сделать с потоками. fopen fgets fputs - с этими функциями

Чтение данных с одного txt файла, запись данных во второй txt в определенную позицию
Добрый день, уважаемые форумчане! Нужна ваша помощь. Задача поставлена так: существует файл film2.txt (постараюсь его прикрепить для...

14
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
24.08.2016, 11:33
PHP
1
2
3
4
5
6
7
8
9
$file = file('AA.txt');
$i = 0;
foreach($file as $k => $v){
    if($k == 'ticker'){
        $arr1 = array_slice($file, $i);
    }
    $i++;
}
print_r($arr1);
0
 Аватар для SergioO
261 / 209 / 99
Регистрация: 13.12.2015
Сообщений: 1,098
24.08.2016, 11:50
DarkJoker1992, в чем проблема?
обязательно .txt формат нужен и именно такой?
может записи отделять друг от друга '\n', например?
что-то типа такого должно быть

PHP
1
2
3
4
5
6
7
8
9
if ($fp = fopen("c:\\folder\\resource.txt", "r+")){ // открываем файл для чтения и записи. указатель на начало файла
while (false !== ($char = fgetc($fp))) { //пока не конец файла читаем символы. можно аналог строки читать
    //здесь обрабатываете данные из файла;
}
 
}
else{
echo "Ошибка чтения файла...";
}

Не по теме:


заодно вопрос к знатокам

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    FILE* fp = fopen("test.txt", "r");
    if(!fp) {
        perror("File opening failed");
        return EXIT_FAILURE;
    }
 
    int c; // note: int, not char, required to handle EOF
    while ((c = fgetc(fp)) != EOF) { // typical file reading loop
       putchar(c);
    }
 
    if (ferror(fp))
        puts("I/O error when reading");
    else if (feof(fp))
        puts("End of file reached successfully");
}
как в PHP реализуется конструкция
C
1
2
if (ferror(fp))
        puts("I/O error when reading");
те ошибка во время чтения? или такого в PHP нет?



Добавлено через 3 минуты
Пифагор, и что, работает?
0
148 / 4 / 0
Регистрация: 19.02.2013
Сообщений: 369
24.08.2016, 11:51  [ТС]
вот что мне вывело, файлы не создались
"Array ( [0] => {"total":"1","mopen":0,"all":"7504","que ry":1,"records":{"ticker":["AA"],"1":["Alcoa Inc. Common Stock"],"e":["1"],"sec":["Basic Materials"],"ind":["Aluminum"],"coun":["USA"],"i":["1"],"ipo":["1962-01-02"],"cl1":["10.32"],"op1":["10.20"],"hi1":["10.35"],"lo1":["10.16"],"vol1":["9205700"],"cl2":["10.27"],"op2":["10.34"],"hi2":["10.36"],"lo2":["10.22"],"vol2":["13163800"],"cl3":["10.45"],"op3":["10.41"],"hi3":["10.47"],"lo3":["10.34"],"vol3":["8564300"],"cl4":["10.36"],"op4":["10.33"],"hi4":["10.40"],"lo4":["10.23"],"vol4":["10840300"],"mc":["14053.52"],"pe":["0.00"],"fpe":["18.29"],"epsf":["-0.44"],"aut":["1338.43"],"sfloat":["1312.72"],"insider":["0.10"],"fshort":["9.17"],"shratio":["6.70"],"pw":["2.04"],"pm":["0.39"],"pq":["11.79"],"ph":["20.56"],"py":["29.77"],"atr":["0.23"],"sma20pc":["0.69"],"sma50pc":["4.06"],"sma200pc":["13.12"],"hi50pc":["-4.01"],"lo50pc":["17.66"],"hi52pc":["-8.16"],"lo52pc":["72.75"],"avvo":["17966.30"],"price":["10.50"],"op":["10.41"],"hi":["10.54"],"lo":["10.37"],"chp":["1.74400"],"ch":["0.18"],"ttime":["16:00:14"],"bid":["10.46"],"ask":["10.49"],"bidsize":["2"],"asksize":["4"],"tcount":["25322"],"vol":["11540329"],"earn":["2016-04-11"],"eps":["0.07"],"eps_est":["0.02"],"eps_surprise":["0.00"],"eps_surprise_percent":["0.00"],"eps_prior":["0.28"],"revenue_surprise":["0.00"],"revenue":["4947000000.00"],"revenue_surprise_percent":["0.00"],"revenue_prior":["5819000000.00"],"revenue_est":["5150000000.00"],"period":["Q1"],"period_year":["2016"],"earn_time":["16:00:00"],"importance":["0"],"pvol":[null],"ptcount":[null],"pprice":[null],"pchp":[null],"pch":[null],"aprice":[null],"avol":[null],"aop":[null],"atcount":[null],"aprev":[null],"achp":[null],"ach":[null],"revol":["0.64"],"etf":["2"],"range":["0.17"],"chpo":["0.86"],"cho":["0.09"],"gep":["0.87"],"newhilo":["0"]}} )"
0
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
24.08.2016, 11:53
SergioO, а не должно?
Упрощенный вариант:
PHP
1
2
3
4
5
6
7
8
9
$arr = ['a'=>1,'b'=>2,'c'=>3,'d'=>4];
$i = 0;
foreach($arr as $k => $v){
    if($k == 'b'){
        $arr1 = array_slice($arr, $i);
    }
    $i++;
}
print_r($arr1);
Добавлено через 34 секунды
Code
1
2
3
4
5
6
Array
(
    [b] => 2
    [c] => 3
    [d] => 4
)
0
148 / 4 / 0
Регистрация: 19.02.2013
Сообщений: 369
24.08.2016, 11:57  [ТС]
в смысле О_О мне ж нужно совсем другое, задача в начале темы ж написана
0
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
24.08.2016, 12:01
Цитата Сообщение от DarkJoker1992 Посмотреть сообщение
Здравствуйте, есть тхт AA.txt в нём данные мне нужны все индексы и их значения начиная с tiker
Упрощенный вариант:
PHP
1
2
3
4
5
6
7
8
9
$arr = ['a'=>1,'b'=>2,'c'=>3,'d'=>4];
$i = 0;
foreach($arr as $k => $v){
    if($k == 'b'){
        $arr1 = array_slice($arr, $i);
    }
    $i++;
}
print_r($arr1);
Добавлено через 34 секунды
Code
1
2
3
4
5
6
Array
(
    [b] => 2
    [c] => 3
    [d] => 4
)
не оно?
0
148 / 4 / 0
Регистрация: 19.02.2013
Сообщений: 369
24.08.2016, 12:05  [ТС]
есть тхт AA.txt(тхт есть в заголовке темы) в нём данные мне нужны все индексы и их значения начиная с tiker
индекс ticker значение AA ,индекс 1 значение Alcoa Inc. Common Stock и тд
нужно создать тхт с названием каждого индекса и записать в него его значение
в tiker.txt записать AA
в 1.txt записать Alcoa Inc. Common Stock
Спасибо
0
Фрилансер
Эксперт PythonЭксперт JSЭксперт PHP
 Аватар для Azdeman
1871 / 1362 / 604
Регистрация: 12.01.2011
Сообщений: 5,470
24.08.2016, 12:12
Лучший ответ Сообщение было отмечено DarkJoker1992 как решение

Решение

PHP
1
2
3
4
5
6
7
$a = file_get_contents("AA.txt");
$c = preg_split("~\{~",$a,-1,PREG_SPLIT_NO_EMPTY);
    preg_match_all("~\"(\\w+)\"\:\[\"([\\w.\\s]+)\"\]~",$c[1],$m);
$dir = @mkdir("file_dir"); //создаём папку , где у нас и будут лежать файлы.
    foreach($m[1]as $k=>$v){
        file_put_contents("file_dir/$v.txt",$m[2][$k]);
    }
1
148 / 4 / 0
Регистрация: 19.02.2013
Сообщений: 369
24.08.2016, 12:14  [ТС]
Спасибо большое!
0
467 / 431 / 117
Регистрация: 15.02.2012
Сообщений: 1,951
24.08.2016, 12:14
вы приведите пример исходного файла и пример файла который должен получится

а так предположим вам нужно разобрать построчно ваш файл (кроме вас никто не видел его чтобы предположить что-то иное)
PHP
1
$fl=file('путь к файлу');
далее рабираете получившийся массив через foreach
каждый элемент разбиваете на еще один массив при помощи explode()
и получившийся массив проверяете и создаете файл с помощью
PHP
1
2
3
4
5
6
7
8
9
/ открываем файл, если файл не существует,
//делается попытка создать его
$fp = fopen("file.txt", "w");
 
// записываем в файл текст
fwrite($fp, $text);
 
// закрываем
fclose($fp);
усе
0
Фрилансер
Эксперт PythonЭксперт JSЭксперт PHP
 Аватар для Azdeman
1871 / 1362 / 604
Регистрация: 12.01.2011
Сообщений: 5,470
24.08.2016, 12:16
Цитата Сообщение от tgarl Посмотреть сообщение
далее рабираете получившийся массив через foreach
каждый элемент разбиваете на еще один массив при помощи explode()
и получившийся массив проверяете и создаете файл с помощью

Не по теме:

Долго как то ....:D

0
467 / 431 / 117
Регистрация: 15.02.2012
Сообщений: 1,951
24.08.2016, 12:26
ну я не обратил внимание на приведенный кусок файла, прошу прощения тогда можно и короче)))
PHP
1
2
3
4
5
$a = file_get_contents("AA.txt");
$bb=json_decode($a, true);
foreach($bb['records'] as $key=>$val){
    file_put_contents("путь где будут файлы/$key.txt",$val[0]);
}
1
276 / 201 / 143
Регистрация: 22.01.2016
Сообщений: 637
24.08.2016, 12:40
PHP
1
2
3
4
5
6
$strClear = preg_replace("~(^.+(?=ticker))|([,\":}])~i", "", $fileContents);
$keys = array_values(preg_grep("~.+~", preg_split("~\[[^]]+\]~", $strClear)));
$values = array_values(preg_grep("~.+~", preg_split("~\].+\[~iU", ']' . $strClear)));
for ($n = 0; $n < count($keys); $n++) {
    file_put_contents($keys[$n] . '.txt', $values[$n]);
}
0
Фрилансер
Эксперт PythonЭксперт JSЭксперт PHP
 Аватар для Azdeman
1871 / 1362 / 604
Регистрация: 12.01.2011
Сообщений: 5,470
24.08.2016, 12:40
Да , можно и так.
tgarl, Вообще ваш вариант лучше всего, сначала я тоже хотел так сделать.
А мы с mrNTF, просто решили показать что знаем что такое регулярные выражение, и как написать костыль!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.08.2016, 12:40
Помогаю со студенческими работами здесь

Как сделать запись данных из файла в массив по условию для программы тестирования?
Здравствуйте, появилась идея создать свой &quot;тестер&quot;. В связи с этим появилось несколько вопросов, ну чтобы было понятнее опишу работу...

Как сделать график из файла txt?
В txt файле есть две строчки. На одной записаны два значения, на другой побольше. На первой строчке дан диапазон значений для x, а на...

Как сделать график из файла txt?
Питон только начал изучать и столкнулся с такой проблемой. Надо нарисовать график, используя данные из txt файла. Например, для оси x...

Парсинг txt файла, как лучше сделать?
Задача следующая есть стандартный txt файл, его размерность может достигать до 1-2 Мб Его структура примерно такая... Например вот...

Ввод данных с txt файла, сортировка и запись результата в txt файлы
Доброго времени суток, такое задание, не могу сделать ввод данных из .тхт файла, чтобы потом отсортировать данные из этого же файла и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru