如何将 Excel 或 Notepad++ 中以特定字符组合开头的所有行放在上一行?

如何将 Excel 或 Notepad++ 中以特定字符组合开头的所有行放在上一行?

我正在尝试导入以下内容CSV数据集导入 Excel。我使用文本导入向导来设置正确的分隔符。到目前为止,我使用了“;”和“,”分隔符。

这里是结果到目前为止。数据集看起来不错,直到第 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 屏幕截图)。

在此处输入图片描述

相关内容