Склеивание текстовых файлов

Не знаете, где задать вопрос? Задавайте здесь.
xtxskif
Завсегдатай
Сообщения: 455
Зарегистрирован: 17 фев 2016, 14:02
Репутация: -4
Откуда: Lviv
Контактная информация:

Re: Склеивание текстовых файлов

Сообщение xtxskif » 20 дек 2017, 22:04

Прошу прлщение но я действительно очень слаб в этом всем. В моем случае я вижу решение только копировать и вставлять вручну из каждого файла в один, но ето займет много времени, вот я и ищу какое то простое решение для себя.
Если кто знает или может помочь буду благодарен.

5Nap
Участник
Сообщения: 85
Зарегистрирован: 21 ноя 2010, 17:36
Репутация: 31

Re: Склеивание текстовых файлов

Сообщение 5Nap » 20 дек 2017, 23:11

xtxskif писал(а):
20 дек 2017, 22:04
В моем случае я вижу решение только копировать и вставлять вручну из каждого файла в один, но ето займет много времени, вот я и ищу какое то простое решение для себя.
у вас исходные файлы битые. это похоже на результаты неаккуратного скрэпинга какой-то вэб-карты с маркерами. Если бы это был чистый csv, то всё решалось бы хоть бы через командную строку. В вашем случае, нужно лезть внутрь файлов и выгребать оттуда мусор. Хотите - руками, хотите - питоном. Решения "загрузить всё в волшебный плагин в qgis" тут нет.

Ariki
Гуру
Сообщения: 731
Зарегистрирован: 12 янв 2011, 22:40
Репутация: 304
Ваше звание:

Re: Склеивание текстовых файлов

Сообщение Ariki » 21 дек 2017, 02:30

Под Linux и через командную строку несложно:

Код: Выделить всё

cat result/*.txt | grep -E "^[0-9]{9}" > cat_result.csv
Впрочем, я подозреваю, что в консоли MSYS, которая устанавливается вместе с QGIS под Windows, такое проделать тоже можно.

Boris
Гуру
Сообщения: 4205
Зарегистрирован: 10 апр 2006, 22:34
Репутация: 433
Откуда: Париж

Re: Склеивание текстовых файлов

Сообщение Boris » 21 дек 2017, 03:19

Ariki писал(а):
21 дек 2017, 02:30
Под Linux и через командную строку несложно:
Вы повнимательней присмотритесь - там строки разорваны(?) или затерты(?) кусками кода - фильтр не вариант.
Такое проделать можно и без консоли - все утилиты есть в GnuWin32. Кроме того никакой экзотики там нет - сойдет и filefind.
PS
Умные люди ищут ответа на дурацкий вопрос - очевидно же, что файлы - результат считывания чего то в USA. Считывания неполного или плохо выполненного. Начинать надо с описания задачи и как ее решали. А тут опять - "как мне в часах вот тот винтик закрутить...".
Если стоит задача вытащить 100% данных из исходных файлов - все советы - мимо. Если не все, то предложенный вариант подойдет. Опять же если автор знает где найти командную строку, пусть будет консоли MSYS.

Ariki
Гуру
Сообщения: 731
Зарегистрирован: 12 янв 2011, 22:40
Репутация: 304
Ваше звание:

Re: Склеивание текстовых файлов

Сообщение Ariki » 21 дек 2017, 04:24

Вы правы, конечно. Но на мой взгляд - вполне приемлемое решение при имеющихся исходных данных и минимуме трудозатрат. В качестве первого приближения пойдёт, чтобы в Excel засунуть. На самом деле, если не полениться написать регулярку чуть длиннее, можно отфильтровать все валидные строки и отдельно (с помощью grep -v) - все невалидные для последующего ручного разбора. То есть с помощью двух строчек на bash вполне можно разбить задачу на большую часть, поддающуюся автоматизации, и меньшую (по объёму данных, а не труда) - требующую работы человека. Ни питона, ни копипаста не нужно.

А вообще автор темы просто спрашивал, как склеить файлы, и вы на этот вопрос ответили. Если он не попробует на практике ни ваш однострочник, ни мой - кто ему виноват? Хотя, конечно, логичнее было бы разобраться в первопричинах каши в исходных файлах, но это уже вопрос к автору парсера сайта.

Boris
Гуру
Сообщения: 4205
Зарегистрирован: 10 апр 2006, 22:34
Репутация: 433
Откуда: Париж

Re: Склеивание текстовых файлов

Сообщение Boris » 22 дек 2017, 03:23

Ariki писал(а):
21 дек 2017, 04:24
Вы правы, конечно.
За сим и примем сей ответ - за правильный.
Я человек - средних лет, и меня бесят ответы не по существу. Я прошу прощения за занудство - я имел опыт советской школы, где за это считалось моветоном.
Мы здесь - сообщество людей, кто считает себя специалистом в крайне ограниченной области - как я помню около 1% от общемирового объема вложений в ИТ.
Давайте, раз нас очень мало и "крайне далеки мы от народа", придерживаться некоторых стандартов общения - автор описывает задачу, а не "у меня тут кнопка не работает", а мы отвечаем ему по существу, например, - "Дорогой друг, а учли вы постоянную g?", а вовсе никак не "возьмите python и будет вам счастье".
Стоит понимать,что любое наше слово "очевидно", в моем конкретном случае - это стоит 10 лет опыта "без этого никак". Имеет ли автор вопроса этот опыт, или он в наших отечественных "лучших" традициях имеет задачу "Мне некогда думать - мне пилить надо!"? Я всегда, к сожалению, исхожу из этого...
Я ничего не имею против python, но как человек, изучавший 20 языков программирования, и использующий еще 10, я все же вас прошу, давайте писать, "IMHO, ... python is The best ....", поскольку, IMHO, - это просто смешно так выставлять ОДИН язык программирования. Он же инструмент - и ничего больше.

_lenik
Активный участник
Сообщения: 121
Зарегистрирован: 10 сен 2012, 08:45
Репутация: 36
Откуда: Минск

Re: Склеивание текстовых файлов

Сообщение _lenik » 22 дек 2017, 10:59

xtxskif писал(а):
20 дек 2017, 18:38
Я прсто ищу простой способ слепить 400 файлов в один.
Я в таком случае использую программку TXTcollector
http://bluefive.pairsite.com/TXTcollector.zip

Ответить

Вернуться в «Я новичок!»

Кто сейчас на конференции

Сейчас этот форум просматривают: gs89 и 9 гостей