在Mac OS上,QGIS无法读取CSV导入中的表格列


9

我试图将CSV文件导入QGIS,但最终看起来像下面的打印屏幕(程序是瑞典语,但是在预览窗口中,您可以看到QGIS如何无法正确读取我的数据)。由于某种原因,我无法加载数据,因为QGIS将我的CSV表列读取为一行。怎么了?我希望QGIS以数字形式读取数据,所以我创建了一个附加的csvt文件,其代码为“ String”,“ String”,“ Integer”。为了让QGIS将第三列读为数字,我还需要做些其他事情吗?

在此处输入图片说明


不过,这样做之后,它就会散发出来……在此处输入图片说明

在此处输入图片说明


1
在问题中添加几行csv文件。
user30184 2015年

是的,请向我们显示您的CSV文件中的至少几行!
SAnderka'3

现在,您可以查看我的csv数据!
JohannaH

Answers:


9

我遇到了QGIS将CSV文件(从Mac上的MS Excel 2011保存)读取为单行的相同问题。

因此,我将Excel工作表重新保存为“ Windows逗号分隔(.csv)”,并且QGIS能够很好地读取它。


2

您的数据不使用逗号作为分隔符,而是使用分号。

因此,您必须从切换CSVuser-defined separator,在这里可以选择分号。


更新

您似乎在Mac上工作。在Mac上,CSV换行/回车时存在一些问题。这就是为什么所有数据都在一行中的原因。看到:

/programming/22052168/excel-saves-tab-delimited-files-without-newline-unix-mac-os-x

和错误报告http://hub.qgis.org/issues/8421


是的,我正在Mac上工作。因此,在Mac中将csv导入到QGIS中存在一个错误……我是一个业余爱好者,因此我能做些什么来克服这个问题,还是唯一简单的解决方案是在PC上实现呢?
JohannaH 2015年

您可以尝试在LibreOffice中加载和保存Excel文件。或使用优质的文本编辑器将Excel中的错误换行符替换为正确的换行符,如链接文章中所述。
AndreJ

尝试将文件保存在LibreOffice中,不幸的是没有成功。
JohannaH 2015年

好的,请尝试使用文本编辑器。
AndreJ 2015年

1

我还在OS X上使用QGIS(从v1.8开始)。将CSV文件导入QGIS时,从未遇到回车问题。您是否自己(即使用计算机)创建了CSV文件?

我建议您使用R(或Stata,或您希望/已经拥有的任何软件)之类的统计软件导入CSV文件,然后重新导出。


是的,我是在Mac上通过Excel自己创建的CSV文件。我不熟悉R或Stata,但是如果有可能是这个问题,我将进行研究。
JohannaH 2015年

1

嗯...首先,我在该数据中看不到任何坐标吗?该Add delimited text layer工具用于转换带有附加到(例如shapefile)点的坐标的数据表。

如果您只想将csv文件添加到项目中以进行进一步的连接(例如,通过国家/地区名称或ISO代码),Add vector layer则应通过技巧直接将其加载。要检查属性数据,只需在图层管理器​​中右键单击新条目,然后选择Open Attribute Data


好吧,我这样做并成功执行了连接,但是由于我的原始问题是我无法让QGIS将数据识别为数字,因此我尝试了此操作。也许现在我应该重新提出我的问题。由于我想对数据进行间隔分类,因此QGIS为什么不能将我的数据识别为数字?如我所说,我创建了一个额外的csvt文件。
JohannaH 2015年

从您的屏幕截图来看,您的CSVT文件应包含以下内容"string","string","real"
SAnderka'3

是的,它首先包含“ String”,“ String”,“ Integer”,现在我将其更改为“ String”,“ String”,“ Real”,但我仍然
遇到

我想QGIS会误解数据的格式。看起来好像1,52E+05是原始Excel数据中高精度数字的舍入值,但是当您另存为CSV时,它实际上会将该值(1,52E+05)保存在该单元格中,而不是原始的较高精度数字(经过测试) 。如果其中有一个字母(E在这种情况下),则QGIS将强制string作为您的数据类型。如果您在简单的文本编辑器中打开csv文件,则可以进行检查。
SAnderka'3

我尝试更改数据,以使其显示整个十进制数字而不是使用E。这仍然
无法解决问题

0

QGIS在.csv文件中每一行的末尾查找CR / LF。这就是Windows计算机上的Excel(和其他应用程序)如何结束每一行。在Mac上,默认的Excel .csv文件在每行末尾只有一个CR(即没有LF)。因此,QGIS将文件读取为一长行。ericO首先提出的解决方案是将文件另存为Windows逗号分隔(csv)文件。这可以在Mac上的Excel中完成。一旦以这种格式保存,它将被QGIS正确读取。


0

我遇到了同样的问题,但是将数据移至Open Office并从OO转换为CSV。那没问题


2
毫无疑问,这是一个好建议,但我希望对答案有更多的解释,例如如何将CSV转换为OO。您能对此做一点扩展吗?我意识到没有太多可以添加的了,请尝试。这可能是由于Windows CRLF行分隔符和Mac上的NewLine之间的差异。
Michael Stimson
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.