Как поместить все строки, начинающиеся с определенной комбинации символов, на предыдущую строку в Excel или Notepad++?

Как поместить все строки, начинающиеся с определенной комбинации символов, на предыдущую строку в Excel или Notepad++?

Я пытаюсь импортировать следующееCSVнабор данных в Excel. Я использую Text Import Wizard для установки правильных разделителей. До сих пор я использовал разделители ";" и ",".

ЗдесьрезультатПока что набор данных выглядит нормально, до строки 493. С этого момента данные меняются с 2014 на 2015 год. Каким-то образом формат данных, похоже, несколько изменился с этого момента, в результате чего получился CSV-файл, в котором столбцы больше не выровнены.

Вот краткий обзор того, что происходит в Notepad++:

введите описание изображения здесь

Я уже спрашивал об этой проблемездесь, но пока этот вопрос не дал решения. Я также подумываю воспользоваться советом вэтотВопрос суперпользователя, но я думаю, что не могу применить его в этой ситуации, потому что комбинация символов, которую нужно использовать, это «",», и Notepad++, похоже, не распознает его \R(?="";")в документе.

Сейчас я думаю решить эту проблему, добавив строки, начинающиеся с «",» комбинация символов в предыдущей строке.

Вопрос: что мне следует сделать, чтобы отформатировать этот набор данных CSV таким образом, чтобы все строки, начинающиеся с «",» помещаются на соответствующие им предыдущие строки? (В Notepad++ или Excel.)

решение1

Мне кажется, это задача по очистке данных дляисходный файлиз ссылки на скачивание выше. Мой ответ основан на этом файле! Он не идентичен скриншоту, показанному в вашем вопросе здесь.

В дополнение к разному формату, начиная со строки 493, есть также некоторые специальные символы, такие как длинные дефисы и некоторые другие проблемы. Обратите внимание, что в наборе данных также есть управляющие символы (табуляции), которые следует удалить.

Обратите внимание, что файл CSV не является форматом файла Windows:

  • \n= LF (перевод строки) → Используется как символ новой строки в Unix/Mac OS X
  • \r\n= CR + LF → Используется как символ новой строки в Windows

Обязательно скопируйте файл перед началом работы и попробуйте это быстрое и грубое решение, выполнив некоторую ручную работу с помощью Notepad++.

(1) установить специальный символ для дальнейшего использования:

  • Ctrl+H
  • Найти то, что:\"\n
  • Заменить:\"#\n
  • ПРОВЕРЯТЬ Обернуть вокруг
  • ПРОВЕРЯТЬ Регулярное выражение
  • Replace all

(2) заменить все LF

  • Найти то, что:\n
  • Заменить:LEAVE EMPTY
  • ПРОВЕРЯТЬ Обернуть вокруг
  • ПРОВЕРЯТЬ Регулярное выражение
  • Replace all

(3) Сбросьте чистые переводы строк

  • Найти то, что:\"#
  • Заменить:\"\n
  • ПРОВЕРЯТЬ Обернуть вокруг
  • ПРОВЕРЯТЬ Регулярное выражение
  • Replace all

(4) Поиск строк. Найдите ^","и отредактируйте вручную менее 20 строк, удалив перевод строки.

Кстати, я заметил, что записи имеют географическую привязку. Excel, вероятно, не очень подходит для этого (см. скриншот QGIS ниже).

введите описание изображения здесь

Связанный контент