我正在尝试导入以下内容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 屏幕截图)。