Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/63: Рейтинг темы: голосов - 63, средняя оценка - 4.97
1 / 1 / 0
Регистрация: 16.11.2012
Сообщений: 64

Сравнение данных в CSV файлах

03.09.2014, 17:40. Показов 13229. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Кто подскажет, имею 2 csv файла в одном 1 столбец заполнен данными, второй имеет два столбца один с похожими данными что имеются в первом csv файле, во втором столбце просто данные. Нужно найти все данные из второго столбца идентичные первому, и если есть идентичные данные, то записать и дописать в 1 файл или в отдельный файл данные с 1 столбцом и напротив данные из второго файла второго столбца?

Пока только понял, что нужно разбить файл на массив, а что делать дальше пока не вкурю, знающие люди направьте на истинный путь :
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
$row = 1;
$prodvig = fopen("otkazi2.csv", "r");
while (($data = fgetcsv($prodvig, 30000, ";")) !== FALSE) {
    $num = count($data);
     for ($c=0; $c < $num; $c++) {
    print_r ($data[$c]) . "<br />";
    $p=array ($data[$c]);
    print_r($p);
    
 echo "<br />";
$row++;
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.09.2014, 17:40
Ответы с готовыми решениями:

Сравнение данных в текстовых файлах
Добрый день! Кто может помогите пожалуйста в написании программы по верификации файлов. Дали задание на работе написать программу, а...

Разделители в .csv файлах
Доброго времени суток уважаемые знатоки при импорте .csv файла в MySQL столкнулся с проблемой разделителей, доходит до 7-й строки и выдает...

Экспорт данных после обработки в *.csv, используя Export-Csv
Данные находятся в файле sample.csv Команда Import-Csv -Encoding default -Delimiter &quot;;&quot; sample.Csv | ForEach-Object...

9
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
03.09.2014, 19:24
Цитата Сообщение от sanitarn Посмотреть сообщение
Кто подскажет, имею 2 csv файла в одном 1 столбец заполнен данными, второй имеет два столбца один с похожими данными что имеются в первом csv файле, во втором столбце просто данные. Нужно найти все данные из второго столбца идентичные первому, и если есть идентичные данные, то записать и дописать в 1 файл или в отдельный файл данные с 1 столбцом и напротив данные из второго файла второго столбца?
Было бы лучше если бы вы показали как выглядят эти файлы и что нужно получить в итоге...
0
1 / 1 / 0
Регистрация: 16.11.2012
Сообщений: 64
03.09.2014, 19:41  [ТС]
Цитата Сообщение от pav1uxa Посмотреть сообщение
Было бы лучше если бы вы показали как выглядят эти файлы и что нужно получить в итоге...
Я бы конечно сам хотел "допереть" что и как делать. Как мне думается, этапы:
1. Это все 2 файла привести в массив
2. Произвести поиск через array_intersect
3. Как то это вывести в файл
Либо тут нужны регулярные выражения.

Файлы:
1 файл https://yadi.sk/d/NOBrQ4P-axSq3
2 файл https://yadi.sk/d/_jL2KaT7axSu6
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
03.09.2014, 19:49
Цитата Сообщение от sanitarn Посмотреть сообщение
Я бы конечно сам хотел "допереть" что и как делать
Я имел ввиду, покажите хотябы строк по 10 двух входных файлов и нужный результат...
0
1 / 1 / 0
Регистрация: 16.11.2012
Сообщений: 64
03.09.2014, 20:52  [ТС]
Цитата Сообщение от pav1uxa Посмотреть сообщение
Я имел ввиду, покажите хотябы строк по 10 двух входных файлов и нужный результат...
Прилагаю снова 3 файла, что-то не подумал прикрепить сразу. Вопрос мои рассуждение о этапах работ имеют права на жизнь?
1 файл с 1 столбцом данных - https://yadi.sk/d/NOBrQ4P-axSq3
2 файл с 2 столбцами данных - https://yadi.sk/d/_jL2KaT7axSu6
3 файл результат, формируется если есть сходства 1 файла со вторым в первом столбце, то вывести 2 столбец для первого файла напротив данных. https://yadi.sk/d/QLZBWSFiaxiyR
0
1 / 1 / 0
Регистрация: 16.11.2012
Сообщений: 64
05.09.2014, 12:04  [ТС]
От предложений по проблеме, я зачитался даже, спасибо )
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
05.09.2014, 12:24
Наверное не много есть желающих качать 3 ненужных файла, открывать их каждый по отдельности... Когда ТС мог бы просто выложить по несколько строчек из них прямо в пост (как я уже 2 раза предложил сделать)... Ну ждите желающих дальше...
0
1 / 1 / 0
Регистрация: 16.11.2012
Сообщений: 64
05.09.2014, 14:29  [ТС]
Цитата Сообщение от pav1uxa Посмотреть сообщение
Наверное не много есть желающих качать 3 ненужных файла, открывать их каждый по отдельности... Когда ТС мог бы просто выложить по несколько строчек из них прямо в пост (как я уже 2 раза предложил сделать)... Ну ждите желающих дальше...
Так я же все подробно описал, как вы себе представляете csv файлы выложить по несколько строчек? Если проще найти в 2 файлах (урлы) идентичные данные и там где они нашлись в отдельном файле вывести их и данные из второго столбца второго файла напротив. Сразу говорю тупо удаление в экселе не предлагать.(файлов может быть и 5ть)
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
05.09.2014, 15:10
Цитата Сообщение от sanitarn Посмотреть сообщение
Так я же все подробно описал
Я уже сказал, что Ваше подробное описание (лично мне) не понятно, да и зачем вникать, когда можно просто пример показать?
Цитата Сообщение от sanitarn Посмотреть сообщение
как вы себе представляете csv файлы выложить по несколько строчек?
Господи неужели это так тяжело
ВОТ ТАК:
файл1.csv
Code
1
2
3
"http://www.ya.ru"
"http://www.google.ru"
"http://www.mail.ru"
файл2.csv
Code
1
2
3
"http://www.ya1.ru";34343
"http://www.google.ru";3433
"http://www.mail.ru";31111
результат.csv
Code
1
2
3
"http://www.ya.ru";"null"
"http://www.google.ru";3433
"http://www.mail.ru";31111
Вместо этого Вы предлагаете каждому, желающему Вам помочь, переходить по 3-ем разным ссылкам и качать 3 разных файла, которые в совокупности из себя представляют всего лишь 9 строк. Вы как думаете - это нормально?

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?
$file1 = file("test.csv", FILE_IGNORE_NEW_LINES);
$file2 = file("test2.csv", FILE_IGNORE_NEW_LINES);
$file3 = fopen("result.csv", "w+");
 
// создаем результирующий массив, заполненный "null"
foreach($file1 as $v)
    $result[$v] = "\"null\"";
 
// находим соответствия
foreach ($file2 as $v)
    if (preg_match("/^(.*);(.*)$/", $v, $m))
        if (array_key_exists($m[1], $result))
            $result[$m[1]] = $m[2];
 
// записываем результат
foreach ($result as $k => $v)
    fputs($file3, $k.";".$v."\r\n");
 
fclose($file3);
0
1 / 1 / 0
Регистрация: 16.11.2012
Сообщений: 64
05.09.2014, 21:34  [ТС]
Цитата Сообщение от pav1uxa Посмотреть сообщение
Вместо этого Вы предлагаете каждому, желающему Вам помочь, переходить по 3-ем разным ссылкам и качать 3 разных файла, которые в совокупности из себя представляют всего лишь 9 строк. Вы как думаете - это нормально?
Спасибо, проверю. Да я был на работе, вот сейчас дома как раз хотел все подробно расписать, впредь буду более внимателен. Сейчас начну проверять ваш вариант, конечно придется доработать, так как у меня во втором файле может быть миллион строк, но в любом случае уже есть куда копать.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.09.2014, 21:34
Помогаю со студенческими работами здесь

Сравнение строк в 2х файлах
Условие на фото. BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String name1 =...

Сравнение столбцов в 2х файлах
Имеется 2 дбф файла. Нужно сравнить 2 столбца из первого файла с двумя столбцами из второго файла и если будет совпадение по обоим столбцам...

Сравнение csv файлов
Здравствуйте, имеются csv файлы Главный файл из которого нужно брать значения для поиска в других, и файлы в которых нужно искать...

Сравнение матриц в бинарных файлах
Добрый вечер, хотел бы задать немного вопросов по своей задачке. Сама задачка: Есть 2 файла, в первом - N матриц, во втором - M...

Сравнение строк в двух файлах
Есть два txt файла, надо их сравнить и произвести удаление строк из первого файла, если во втором эти строки присутствуют. Наверное так,...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru