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.