QGIS จะไม่อ่านคอลัมน์ตารางในการนำเข้า CSV ใน Mac OS


9

ฉันกำลังพยายามนำเข้าไฟล์ CSV ลงใน QGIS แต่ดูเหมือนว่าหน้าจอพิมพ์ของฉันด้านล่าง (โปรแกรมเป็นภาษาสวีเดน แต่ในหน้าต่างแสดงตัวอย่างคุณสามารถดูว่า QGIS อ่านข้อมูลของฉันไม่ถูกต้อง) ฉันไม่สามารถโหลดข้อมูลได้เนื่องจากเหตุผลบางอย่าง QGIS อ่านคอลัมน์ตาราง CSV ของฉันเป็นแถวเดียว เกิดอะไรขึ้น? ฉันต้องการให้ QGIS อ่านข้อมูลของฉันเป็นตัวเลขดังนั้นฉันจึงสร้างไฟล์ csvt เพิ่มเติมด้วยรหัส "String", "String", "Integer" มีอะไรอีกบ้างที่ฉันต้องทำเพื่อให้ QGIS อ่านคอลัมน์ที่สามเป็นตัวเลข?

ป้อนคำอธิบายรูปภาพที่นี่


ถึงกระนั้นหลังจากทำอย่างนั้นมันก็แบบนี้ ...ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่


1
เพิ่มสองแถวของไฟล์ csv ของคุณลงในคำถาม
user30184

ใช่โปรดแสดงอย่างน้อยสองบรรทัดจากไฟล์ CSV ของคุณ!
SAnderka

ตอนนี้คุณสามารถดูข้อมูล csv ของฉันได้แล้ว!
JohannaH

คำตอบ:


9

ฉันมีปัญหาเดียวกันกับ QGIS ที่อ่านไฟล์ CSV (บันทึกจาก MS Excel 2011 บน Mac ของฉัน) เป็นแถวเดียว

ดังนั้นฉันบันทึกแผ่นงาน Excel ใหม่เป็น "Windows Comma Separated (.csv)" และ QGIS ก็สามารถอ่านได้ดี


2

ข้อมูลของคุณไม่ได้ใช้เครื่องหมายจุลภาคเป็นตัวคั่น แต่เป็นเครื่องหมายอัฒภาค

ดังนั้นคุณต้องสลับจากCSVเป็น user-defined separatorเป็นซึ่งคุณสามารถเลือกอัฒภาคได้


UPDATE

คุณดูเหมือนจะทำงานบน Mac มีปัญหาบางอย่างเกี่ยวกับการขึ้นบรรทัดใหม่ / การขึ้นบรรทัดใหม่ด้วย CSV บน Mac นั่นเป็นเหตุผลที่ข้อมูลทั้งหมดอยู่ในบรรทัดเดียว ดู:

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

และรายงานข้อผิดพลาดhttp://hub.qgis.org/issues/8421


ใช่ฉันกำลังทำงานกับ Mac มีข้อผิดพลาดในการนำเข้า csv ไปยัง QGIS ใน Mac ... ฉันเป็นมือสมัครเล่นในเรื่องนี้ดังนั้นมีอะไรที่ฉันสามารถทำได้เพื่อเอาชนะปัญหานี้หรือวิธีแก้ปัญหาง่ายๆเพียงอย่างเดียวที่จะทำได้บนพีซี?
JohannaH

คุณสามารถลองโหลดและบันทึกไฟล์ Excel ใน LibreOffice หรือใช้โปรแกรมแก้ไขข้อความที่ดีเพื่อแทนที่บรรทัดใหม่ที่ไม่ถูกต้องจาก Excel ด้วยอันที่ถูกต้องตามที่อธิบายไว้ในบทความที่ลิงก์
AndreJ

พยายามบันทึกไฟล์ใน LibreOffice ไม่สำเร็จ แต่น่าเสียดาย
JohannaH

ตกลงดังนั้นลองใช้เครื่องมือแก้ไขข้อความ
AndreJ

1

ฉันยังใช้ QGIS (ตั้งแต่ v1.8) บน OS X ฉันไม่เคยพบปัญหา carriage-return ขณะนำเข้าไฟล์ CSV ไปยัง QGIS คุณสร้างไฟล์ CSV ด้วยตัวเองเช่นกับคอมพิวเตอร์ของคุณหรือไม่

ฉันขอแนะนำให้คุณนำเข้าไฟล์ CSV ด้วยซอฟต์แวร์ stat เช่น R (หรือ Stata หรือแล้วแต่จำนวนใดที่คุณต้องการ / มีอยู่แล้ว) และส่งออกอีกครั้ง


ใช่ฉันสร้าง CSV ตัวเองจาก Excel บน Mac ของฉัน ฉันไม่คุ้นเคยกับ R หรือ Stata แต่ถ้ามีโอกาสว่านี่เป็นปัญหาฉันจะตรวจสอบมัน
JohannaH

1

อืม ... ก่อนอื่นฉันไม่เห็นพิกัดใด ๆ ในข้อมูลนั้น? Add delimited text layerเครื่องมือที่มีความหมายสำหรับการแปลงตารางของข้อมูลที่มีพิกัดที่แนบลงใน (เช่น shapefile) จุด

หากคุณต้องการเพิ่มไฟล์ csv ลงในโครงการของคุณสำหรับการเข้าร่วมเพิ่มเติม (เช่นผ่านชื่อประเทศหรือรหัส ISO) การโหลดโดยตรงผ่านทางAdd vector layerควรจะเป็นเคล็ดลับ Open Attribute Dataในการตรวจสอบข้อมูลแอตทริบิวต์ของคุณเพียงแค่คลิกขวาที่รายการใหม่ในการจัดการชั้นและเลือก


ฉันทำสิ่งนี้และทำการเข้าร่วมเรียบร้อยแล้ว แต่เนื่องจากปัญหาเดิมของฉันคือฉันไม่สามารถให้ QGIS จดจำข้อมูลของฉันเป็นตัวเลขได้ฉันจึงลองทำสิ่งนี้แทน บางทีตอนนี้ฉันควรตั้งคำถามใหม่ เนื่องจากฉันต้องการจำแนกช่วงข้อมูลของฉันทำไม QGIS ไม่รู้จักข้อมูลของฉันเป็นตัวเลข อย่างที่ฉันบอกไปแล้วว่าฉันได้สร้างไฟล์ csvt เพิ่มเติม
JohannaH

ตัดสินจากภาพหน้าจอของคุณไฟล์ CSVT ของคุณควรมีอะไร"string","string","real"บ้าง?
SAnderka

ใช่ก่อนอื่นมันมี "String", "String", "Integer" ตอนนี้ฉันเปลี่ยนเป็น "String", "String", "Real" แต่ฉันยังคงมีปัญหาเดียวกัน
JohannaH

ฉันเดาว่า QGIS ตีความการจัดรูปแบบในข้อมูลของคุณผิด ดูเหมือนว่าเช่น1,52E+05เป็นค่าที่ปัดเศษของตัวเลขที่มีความแม่นยำสูงในข้อมูล Excel ต้นฉบับของคุณ แต่เมื่อคุณบันทึกเป็น CSV จริง ๆ แล้วจะบันทึกค่านี้ ( 1,52E+05) ในเซลล์นั้นไม่ใช่ตัวเลขที่มีความแม่นยำสูงกว่าเดิม (เพิ่งทดสอบ) . หากมีจดหมาย ( Eในกรณีนี้) ในนั้น QGIS จะบังคับให้ใช้stringเป็นประเภทข้อมูลของคุณ คุณสามารถตรวจสอบสิ่งนี้หากคุณเปิดไฟล์ csv ในโปรแกรมแก้ไขข้อความอย่างง่าย
SAnderka

ฉันพยายามเปลี่ยนข้อมูลของฉันเพื่อที่จะแสดงจำนวนทศนิยมทั้งหมดแทนที่จะใช้ E ซึ่งยังไม่ได้ทำเคล็ดลับผ่าน ...
JohannaH

0

QGIS ค้นหา CR / LF ที่ส่วนท้ายของแต่ละแถวในไฟล์. csv นี่คือวิธีที่ Excel (และแอปพลิเคชันอื่น ๆ ) บนเครื่อง Windows สิ้นสุดแต่ละแถว สำหรับ Mac ไฟล์ Excel .csv ที่เป็นค่าเริ่มต้นจะมี CR (กล่าวคือไม่มี LF) ที่ส่วนท้ายของแต่ละแถว ดังนั้น QGIS อ่านไฟล์เป็นแถวยาวหนึ่งแถว โซลูชันดังที่แนะนำโดย ericO ครั้งแรกคือการบันทึกไฟล์เป็นไฟล์ที่คั่นด้วยเครื่องหมายจุลภาค (csv) ของ Windows สามารถทำได้ใน Excel บน Mac เมื่อบันทึกในรูปแบบนั้นมันจะถูกอ่านอย่างถูกต้องโดย QGIS


0

ฉันมีปัญหาเดียวกัน แต่ย้ายข้อมูลไปยัง Open Office และแปลงเป็น CSV จาก OO แล้วไม่มีปัญหา


2
ไม่ต้องสงสัยเลยว่าเป็นคำแนะนำที่ดี แต่ฉันต้องการดูคำอธิบายเพิ่มเติมอีกเล็กน้อยสำหรับคำตอบเช่นวิธีแปลง CSV เป็น OO คุณช่วยขยายความกรุณาหน่อยหน่อยได้ไหม; ฉันรู้ว่ามีไม่มากที่สามารถเพิ่มได้โปรดลอง อาจเป็นเพราะความแตกต่างระหว่างตัวแยกบรรทัด Windows CRLF และ NewLine บน Mac
Michael Stimson
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.