มากกว่า

การแปลงไฟล์ CSV ใน MyGeoData Converter - ไม่รู้จักคอลัมน์ XY

การแปลงไฟล์ CSV ใน MyGeoData Converter - ไม่รู้จักคอลัมน์ XY


เมื่อเร็ว ๆ นี้ฉันได้ลองนำเข้าไฟล์ CSV ต่างๆ ที่มีพิกัด XY ไปยัง MyGeoData Converter ในบางกรณีฉันได้รับข้อความ:

ข้อมูลที่เลือกไม่มีส่วนเชิงพื้นที่!

ตัวอย่างเช่น ไฟล์นี้ใช้งานได้ดี:

id,name,coordx,coordy 1,Start,18.63,49.5 2,End,18.65,49.42

ภายในไฟล์นี้ ฉันสามารถดูขอบเขตที่ถูกต้องในแผนที่ กำหนดระบบพิกัดและแปลงเป็นระบบพิกัดและรูปแบบที่ต้องการ แต่ฉันได้ผลลัพธ์ที่ไม่ถูกต้องกับไฟล์นี้ (ตรวจไม่พบส่วนเชิงพื้นที่):

รหัส ชื่อ พิกัด พิกัด 1 เริ่ม 18.25,41.16 2 สิ้นสุด 18.26,41.12

ดูเหมือนว่าคอลัมน์ที่มีพิกัด XY ไม่เป็นที่รู้จัก

ความคิดใด?


มี กฎ สำหรับตรวจจับคอลัมน์ที่มีพิกัด ตามชื่อแอตทริบิวต์. ตรวจพบคอลัมน์พิกัดหากชื่อแอตทริบิวต์ของพิกัด X คือ:

x, xcoord, xcoord, coordx, พิกัด, ลองจิจูด, ลองจิจูด

หรือชื่อแอตทริบิวต์ประกอบด้วย:

x_*, *_x

คล้ายกันสำหรับพิกัด Y:

y, ycoord, พิกัด, coordy, พิกัด, ละติจูด, lat

หรือชื่อแอตทริบิวต์ประกอบด้วย:

y_*, *_y

เปลี่ยนชื่อ koordinatenx, ประสานงาน คุณลักษณะเช่นถึง x, y หรือ ยาว, lat - แล้วมันก็ควรจะทำงาน ...


กำลังเพิ่ม GeoPandas Dataframe ให้กับตาราง PostGIS หรือไม่

ฉันต้องการอัปโหลด GeoDataframe นี้ไปยังตาราง PostGIS ฉันมีการตั้งค่าฐานข้อมูลที่มีส่วนขยาย PostGIS แล้ว แต่ดูเหมือนจะเพิ่ม Dataframe นี้เป็นตารางไม่ได้

ฉันได้ลองสิ่งต่อไปนี้:

4 คำตอบ

เมื่อเร็วๆ นี้ geopandas มีเมธอด to_postgis วู้ฮู!

บันทึก: คุณจะต้องติดตั้ง psycopg2-binary , sqlalchemy2 และ geoalchemy2

ตอบเมื่อ 3 เดือนที่แล้วโดย Brylie Christopher Oxley กับ 4 upvotes

ฉันมีวิธีแก้ปัญหาที่ต้องการเพียง psycopg2 และหุ่นดี (แน่นอนว่ามี geopandas ด้วย) โดยทั่วไปแล้วจะเป็นแนวปฏิบัติที่ไม่ดีในการวนซ้ำ (Geo)DataFrame ออบเจ็กต์ เนื่องจากทำงานช้า แต่สำหรับวัตถุขนาดเล็ก หรือสำหรับงานแบบครั้งเดียว งานจะยังคงทำงานให้เสร็จ

โดยพื้นฐานแล้วมันทำงานโดยทิ้งรูปทรงเรขาคณิตเป็นรูปแบบ WKB ในคอลัมน์อื่นแล้วเปลี่ยนให้เป็นประเภท GEOMETRY เมื่อแทรก

โปรดทราบว่าคุณจะต้องสร้างตารางล่วงหน้าด้วยคอลัมน์ที่ถูกต้อง

ตอบเมื่อ 3 เดือนที่แล้วโดย wfgeo ด้วย 1 upvotes

ฉันยังมีคำถามเดียวกันกับที่คุณถามและใช้เวลาหลายวันกับมัน (มากกว่าที่ฉันจะยอมรับ) เพื่อค้นหาวิธีแก้ปัญหา สมมติว่าตาราง postgreSQL ต่อไปนี้พร้อมส่วนขยาย postGIS

นี่คือสิ่งที่ฉัน ในที่สุด ได้ทำงาน:

ฉันไม่สามารถพูดได้ว่าตรรกะการเชื่อมต่อฐานข้อมูลของฉันดีที่สุดหรือไม่เนื่องจากฉันคัดลอกมาจากลิงก์อื่นและดีใจที่ฉันสามารถแมปอัตโนมัติ (หรือสะท้อน) ตารางที่มีอยู่ของฉันด้วยคำจำกัดความเรขาคณิตที่รู้จักได้สำเร็จ ฉันได้เขียน python ไปยัง sql spatial code เพียงไม่กี่เดือน ดังนั้นฉันรู้ว่ามีอะไรให้เรียนรู้อีกมาก

ตอบเมื่อ 3 เดือนที่แล้วโดย ผู้ใช้1745564 ด้วย 5 upvotes

การใช้เมธอด to_sql ของ Panda และ SQLAlchemy คุณสามารถจัดเก็บดาต้าเฟรมใน Postgres และเนื่องจากคุณกำลังจัดเก็บ Geodataframe อยู่ GeoAlchemy จะจัดการคอลัมน์ geom ให้คุณ นี่คือตัวอย่างโค้ด:

น่าสังเกตว่าพารามิเตอร์ 'if_exists' ช่วยให้คุณจัดการกับวิธีที่ dataframe จะถูกเพิ่มในตาราง postgres ของคุณ:


คุณอยู่ในบริษัทที่ดี: Zamzar ได้แปลงไฟล์มากกว่า 510 ล้านไฟล์ตั้งแต่ปี 2006

CSV (เอกสาร)

นามสกุลไฟล์ .csv
ประเภท ไฟล์เอกสาร
คำอธิบาย ไฟล์ CSV เป็นวิธีรวบรวมข้อมูลจากตารางใดๆ เพื่อให้สามารถถ่ายทอดเป็นอินพุตไปยังแอปพลิเคชันเชิงตารางอื่น เช่น แอปพลิเคชันฐานข้อมูลเชิงสัมพันธ์ Microsoft Excel ซึ่งเป็นสเปรดชีตชั้นนำหรือแอปพลิเคชันฐานข้อมูลเชิงสัมพันธ์ สามารถอ่านไฟล์ CSV ได้ ไฟล์ CSV บางครั้งเรียกว่าไฟล์แบบเรียบ
การกระทำ CSV เป็น XLS - แปลงไฟล์ทันที
ดูรูปแบบไฟล์เอกสารอื่นๆ
รายละเอียดทางเทคนิค ในคอมพิวเตอร์ ไฟล์ CSV จะประกอบด้วยค่าต่างๆ ในตารางเป็นชุดของบรรทัดข้อความ ASCII (American Standard Code for Information Interchange) ซึ่งจะถูกจัดระเบียบเพื่อให้แต่ละค่าของคอลัมน์คั่นด้วยเครื่องหมายจุลภาคจากค่าของคอลัมน์ถัดไปและแต่ละแถว เริ่มบรรทัดใหม่ CSV เป็นตัวอย่างหนึ่งของไฟล์ข้อความที่มีตัวคั่น ซึ่งใช้เครื่องหมายจุลภาคเพื่อแยกค่าต่างๆ (การใช้งาน CSV อื่นๆ จำนวนมากอนุญาตให้ใช้ตัวคั่นที่แตกต่างกัน เช่น เครื่องหมายทับย้อนกลับหรือไปข้างหน้า) อย่างไรก็ตาม CSV แตกต่างจากรูปแบบไฟล์ที่คั่นด้วยตัวคั่นอื่น ๆ ในการใช้อักขระอัญประกาศคู่รอบฟิลด์ที่มีอักขระสงวน (เช่น จุลภาคหรือขึ้นบรรทัดใหม่) ประโยชน์ของวิธีนี้คือช่วยให้สามารถถ่ายโอนข้อมูลข้ามแอปพลิเคชันต่างๆ ได้
โปรแกรมที่เกี่ยวข้อง รูปแบบไฟล์ CSV นั้นเรียบง่ายและรองรับโดยสเปรดชีตและระบบจัดการฐานข้อมูลเกือบทั้งหมด
พัฒนาโดย Microsoft
ประเภท MIME text/comma-separated-values
ลิงค์ที่มีประโยชน์ ข้อมูลเพิ่มเติมเกี่ยวกับไฟล์ CSV
วิธีใช้ไฟล์ CSV
โปรแกรมที่เปิดไฟล์ CSV
ตัวแปลง CSV

XLS (เอกสาร)

นามสกุลไฟล์ .xls
ประเภท ไฟล์เอกสาร
คำอธิบาย Microsoft Excel เป็นแอปพลิเคชันสเปรดชีตเชิงพาณิชย์ที่เขียนและจัดจำหน่ายโดย Microsoft สำหรับ Microsoft Windows และ Mac OS X Excel เวอร์ชันก่อนปี 2550 ใช้ XLS เป็นรูปแบบหลักสำหรับการบันทึกไฟล์ มีคุณลักษณะการคำนวณ เครื่องมือสร้างกราฟ ตารางเดือย และภาษาการเขียนโปรแกรมแมโครที่เรียกว่า Visual Basic for Applications เป็นสเปรดชีตที่ใช้กันอย่างแพร่หลายสำหรับแพลตฟอร์มเหล่านี้ โดยเฉพาะอย่างยิ่งตั้งแต่เวอร์ชัน 5 ในปี 1993 และได้แทนที่ Lotus 1-2-3 เป็นมาตรฐานอุตสาหกรรมสำหรับสเปรดชีตเกือบทั้งหมด Excel เป็นส่วนหนึ่งของ Microsoft Office เวอร์ชันปัจจุบันคือ 2010 สำหรับ Microsoft Windows และ 2011 สำหรับ Mac OS X
การกระทำ ตัวแปลง XLS
ดูรูปแบบไฟล์เอกสารอื่นๆ
รายละเอียดทางเทคนิค Microsoft Excel จนถึงเวอร์ชัน 2007 ใช้รูปแบบไฟล์ไบนารีที่เป็นกรรมสิทธิ์ซึ่งเรียกว่า Binary Interchange File Format (BIFF) เป็นรูปแบบหลัก ใช้เป็นพื้นฐานสำหรับไฟล์ XLS เป็นรูปแบบการคงอยู่ที่สนับสนุนการเขียนและจัดการเนื้อหาในเวิร์กบุ๊กและเทมเพลตเวิร์กบุ๊ก Microsoft Excel เวอร์ชันส่วนใหญ่สามารถอ่าน CSV, DBF, SYLK, DIF และรูปแบบเดิมอื่นๆ
โปรแกรมที่เกี่ยวข้อง Microsoft Excel
Microsoft Excel Viewer
OpenOffice
พัฒนาโดย Microsoft
ประเภท MIME application/vnd.ms-excel
ลิงค์ที่มีประโยชน์ รายละเอียดเพิ่มเติมเกี่ยวกับรูปแบบ XLS
วิธีเปิดไฟล์ XLS โดยไม่ต้องใช้ Microsoft Excel
ข้อกำหนดรูปแบบไฟล์ไบนารีของ Microsoft Office
ตัวแปลง XLS

แปลงไฟล์ CSV

การใช้ Zamzar ทำให้สามารถแปลงไฟล์ CSV เป็นรูปแบบอื่นได้หลากหลาย


วิธีนำเข้าไฟล์ CSV พร้อมธุรกรรมไปยัง Xero

จากขั้นตอนนี้ คุณต้องสร้างไฟล์ CSV แล้ว คุณสามารถดาวน์โหลดได้จาก Online Banking หรือสร้างด้วยตัวแปลง ProperSoft เช่น ตัวแปลง Bank2CSV สำคัญ: ตอนนี้ Bank2CSV ถูกแทนที่ด้วยแอปธุรกรรม ซึ่งแปลงจากรูปแบบเพิ่มเติมและแปลงเป็นรูปแบบเพิ่มเติม

และเมื่อคุณแปลงเป็น CSV ให้เลือก Xero เป็น 'เป้าหมาย CSV' สำหรับไฟล์ CSV ของคุณ ดังนั้นไฟล์จะถูกจัดรูปแบบอย่างเหมาะสมสำหรับ Xero หากไฟล์ CSV ของคุณดาวน์โหลดจาก Online Banking คุณอาจต้องแมปไฟล์นั้น

ก่อนอื่นให้คลิกที่ 'การบัญชี' จากนั้นคลิกที่ 'บัญชีธนาคาร' ตอนนี้คุณต้องเลือกบัญชีธนาคารหรือบัญชีบัตรเครดิตเพื่อนำเข้าธุรกรรม

ตัวอย่างเช่น คุณมีบัญชีเช็ค มองหา 'นำเข้าใบแจ้งยอดด้วยตนเอง' หรือคลิกที่ 'จัดการบัญชี' และมองหาลิงก์ 'นำเข้าใบแจ้งยอด' ในซอฟต์แวร์บัญชีของคุณ ให้มองหา "อัปโหลดไฟล์ธนาคาร" หรือลิงก์ที่คล้ายกันเพื่ออัปโหลดไฟล์ CSV ที่สร้างขึ้น

คลิกปุ่ม 'เรียกดู' และเลือกไฟล์ CSV

จากนั้นคลิกปุ่ม 'นำเข้า'

แมปไฟล์ CSV ของคุณกับช่องธุรกรรม Xero ตรวจสอบให้แน่ใจว่าคุณแปลงไฟล์ CSV อย่างถูกต้อง คุณสามารถตรวจสอบธุรกรรมก่อนที่จะนำเข้าบัญชี Xero

ชื่อ เช่น 'วันที่' 'จำนวนเงิน' 'ผู้รับเงิน' 'คำอธิบาย' 'ข้อมูลอ้างอิง' 'หมายเลขเช็ค' มาจากไฟล์ CSV ดังนั้นเมื่อคุณสร้างไฟล์ CSV ด้วยตัวแปลง ProperSoft และคุณเลือกตัวเลือก 'CSV Target' เป็น Xero ไฟล์นั้นจะเพิ่มชื่อคอลัมน์ส่วนหัวลงในไฟล์ CSV ง่ายกว่าการทำแผนที่เมื่อคุณนำเข้า Xero และอีกสิ่งหนึ่งจะตั้งชื่อคอลัมน์ที่ Xero สามารถเข้าใจได้โดยอัตโนมัติ ดังนั้น ในกรณีนี้ วันที่จะจับคู่กับ 'วันที่' ของธุรกรรมโดยอัตโนมัติ จำนวนเงินที่จับคู่กับ 'จำนวนเงิน' ของธุรกรรม ผู้รับเงินกับ 'ผู้รับเงิน' และคำอธิบายไปยัง 'คำอธิบาย' โดยอัตโนมัติ

'การอ้างอิง' และ 'ตรวจสอบหมายเลข' สองคอลัมน์เท่านั้นที่ไม่ถูกแมปโดยอัตโนมัติ แต่จะอยู่ในไฟล์ CSV ของคุณหากคุณแปลงด้วยตัวแปลง ProperSoft และไฟล์ที่คุณแปลงมีการตรวจสอบและตรวจสอบตัวเลข จากนั้นคอลัมน์จะเต็ม และหากมีข้อมูลเพิ่มเติมเกี่ยวกับไฟล์ OFX หรือไฟล์ PDF ของคุณ ข้อมูลนั้นจะต้องไปที่คอลัมน์ 'ข้อมูลอ้างอิง' จากนั้นคุณจะสามารถแมปไฟล์นั้นได้เช่นกัน QuickBooks ไม่มีสิ่งนี้ 'แต่ Xero มีคอลัมน์เพิ่มเติมนี้ สะดวกมากเมื่อคุณต้องการเก็บรายละเอียดเพิ่มเติมเกี่ยวกับการทำธุรกรรม

สร้าง 'อ้างอิง' เลือก 'ตรวจสอบหมายเลข' และตอนนี้คุณสามารถตรวจสอบธุรกรรมได้หากต้องการ คลิก 'ถัดไป' และคุณจะเห็นวันที่ จำนวนเงิน คุณสามารถดูว่าพวกเขาจะเป็นอย่างไรใน Xero

และคลิก 'ตกลง' ตอนนี้ธุรกรรมของคุณถูกนำเข้าแล้ว

ขั้นตอนต่อไปคือการแมปชื่อผู้รับเงินกับ Vendor Records สมมติว่าคุณจะมีผู้รับเงินอย่างเช่น Shell 1, 2, 3 หรือ Shell หรืออะไรทำนองนั้น แต่คุณมีผู้ขายชื่อ Shell ในบัญชี Xero ของคุณ จากนั้นคุณจะต้องเลือก Vendor Record ใน Xero สำหรับธุรกรรมนั้น จัดหมวดหมู่ธุรกรรมโดยเลือกบัญชี จากนั้นธุรกรรมจะอยู่ภายใต้บัญชีของคุณ

บทความที่เกี่ยวข้อง

ลิขสิทธิ์ © 2008-2021 ProperSoft Inc. สงวนลิขสิทธิ์ นโยบายความเป็นส่วนตัว


การนำเข้าข้อมูล SSIS จาก CSV ไปยังตาราง SQL ล้มเหลว [ปิด]

ต้องการปรับปรุงคำถามนี้หรือไม่? อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับผู้ดูแลระบบฐานข้อมูล Stack Exchange

ฉันพยายามนำเข้าข้อมูลจากไฟล์ CSV ไปยังตาราง SQL ฉันมี 7 คอลัมน์ซึ่ง ได้แก่ :

  1. วันที่รีเฟรช - Db_Date
  2. วันที่รายงาน - DB_Date
  3. ระยะเวลารายงาน - Int . แยกสี่ไบต์
  4. เข้าร่วม - Int . แยกเดี่ยวสี่ไบต์
  5. จัด - Int . เดี่ยวสี่ไบต์
  6. Peert-To-Peer - Int . แยกเดี่ยวสี่ไบต์

ฉันใช้ Flat File Source -> Data Conversion (เพื่อแปลงข้อมูลใน csv ของฉันให้ตรงกับประเภทข้อมูลตามตารางด้านบน) -> OLE DB Destination

ฉันได้รับข้อผิดพลาดดังต่อไปนี้:

[การแปลงข้อมูล [2]] ข้อผิดพลาด: การแปลงข้อมูลล้มเหลวขณะแปลงคอลัมน์ "" รายงานวันที่รีเฟรช"" (37) ไปที่คอลัมน์ "สำเนาของ " รายงานวันที่รีเฟรช"" (11) การแปลงแสดงค่าสถานะ 2 และข้อความสถานะ "ไม่สามารถแปลงค่าได้เนื่องจากข้อมูลอาจสูญหาย"

[การแปลงข้อมูล [2]] ข้อผิดพลาด: รหัสข้อผิดพลาด SSIS DTS_E_INDUCEDTRANSFORMFAILUREONERROR คอลัมน์ "Data Conversion.Outputs[Data Conversion Output].Columns[Copy of ". วันที่รีเฟรชรายงาน"]" ล้มเหลวเนื่องจากเกิดรหัสข้อผิดพลาด 0xC020907F และการจัดการแถวข้อผิดพลาดใน "การแปลงข้อมูล เอาต์พุต[เอาต์พุตการแปลงข้อมูล] คอลัมน์[สำเนาของ " รายงานวันที่รีเฟรช"]" ระบุความล้มเหลวจากข้อผิดพลาด เกิดข้อผิดพลาดกับวัตถุที่ระบุของส่วนประกอบที่ระบุ อาจมีข้อความแสดงข้อผิดพลาดโพสต์ก่อนหน้านี้พร้อมข้อมูลเพิ่มเติมเกี่ยวกับความล้มเหลว

[SSIS.Pipeline] ข้อผิดพลาด: รหัสข้อผิดพลาด SSIS DTS_E_PROCESSINPUTFAILED วิธีการ ProcessInput ในองค์ประกอบ "การแปลงข้อมูล" (2) ล้มเหลวด้วยรหัสข้อผิดพลาด 0xC0209029 ขณะประมวลผลอินพุต "ข้อมูลการแปลงข้อมูล" (3) องค์ประกอบที่ระบุส่งคืนข้อผิดพลาดจากเมธอด ProcessInput ข้อผิดพลาดเกิดขึ้นเฉพาะกับส่วนประกอบ แต่ข้อผิดพลาดนั้นร้ายแรงและจะทำให้งาน Data Flow หยุดทำงาน อาจมีข้อความแสดงข้อผิดพลาดโพสต์ก่อนหน้านี้พร้อมข้อมูลเพิ่มเติมเกี่ยวกับความล้มเหลว

ฉันกำลังแนบภาพหน้าจอว่าไฟล์ CSV ของฉันเป็นอย่างไร

ความช่วยเหลือใด ๆ จะเป็นประโยชน์เพราะฉันมีข้อมูลมากมายที่ต้องโหลดจากไฟล์ CSV ไปยังตาราง SQL


ฉันจะแปลงไฟล์ CSV เป็น XML ได้อย่างไร

บนเว็บไซต์ชุมชนเกี่ยวกับการแปลงจะมีลิงก์ไปยังเครื่องมือบรรทัดคำสั่งที่เรียกว่า csv2xml เนื่องจากไม่มีการบำรุงรักษา คุณอาจต้องการเลือกตัวเลือกอื่น

นอกจากนี้ยังมีการกล่าวถึงเครื่องมือจาวาที่เรียกว่า csv2xml (คำเตือน: เว็บไซต์เป็นภาษาเยอรมัน) และเครื่องมือบรรทัดคำสั่งที่เรียกว่า ff-extractor

ลิงก์ยังมีการอ้างอิงถึง Python, Perl, PHP, XSLT แต่นั่นหมายความว่าคุณต้องโค้ดตัวแปลงด้วยตัวเอง

เมื่อคุณทราบรูปแบบของไฟล์ csv และโครงสร้างที่คุณต้องการในไฟล์ xml แล้ว การสร้างสคริปต์ที่สามารถจัดการการแปลงได้ค่อนข้างตรงไปตรงมา

คุณสามารถสร้างไฟล์ xml ต่อไปนี้:

ด้วยสคริปต์ต่อไปนี้:

แม้ว่าคุณจะไม่เคยเขียนโค้ดมาก่อน แต่ฉันคิดว่ามันน่าจะใช้งานง่ายและปรับเปลี่ยนได้ ไฟล์ถูกอ่านทีละบรรทัดในลูป while

IFS เป็นตัวระบุฟิลด์ภายใน ไอเอฟเอส=

การเปิดไฟล์ไว้นานเกินความจำเป็น

เมื่อคุณเรียกใช้ fastaLine = file.readlines( ) เสร็จแล้ว ไฟล์และคุณสามารถปิดได้ ซึ่งหมายความว่าคุณทำกับ open block เสร็จแล้ว และคุณสามารถยกเลิกการเยื้องบล็อกหลังจากนั้นได้ แน่นอน ตามที่ Reinderien ชี้ให้เห็น มันอาจจะดีกว่าที่จะประมวลผลแต่ละบรรทัดในขณะที่คุณวนซ้ำ (นี่เป็นสิ่งสำคัญโดยเฉพาะอย่างยิ่งกับไฟล์ขนาดใหญ่ ซึ่งคุณอาจต้องการโหลดทีละบรรทัดในหน่วยความจำ แทนที่จะโหลดไฟล์ทั้งหมดลงในหน่วยความจำ) ดังนั้น คุณจึงต้องการให้บล็อกแบบเปิดมีลักษณะดังนี้:

โปรดทราบว่าฉันได้ยกเลิกการเยื้องความคิดเห็นเกี่ยวกับจำนวนกรดอะมิโน (และทุกอย่างที่ตามมา)


รายละเอียดโครงการ

Simpledbf เป็นไลบรารี Python สำหรับแปลงไฟล์ DBF พื้นฐาน (ดูข้อจำกัด) เป็นไฟล์ CSV, Pandas DataFrames, ตาราง SQL หรือตาราง HDF5 แพ็คเกจนี้เข้ากันได้อย่างสมบูรณ์กับ Python >=3.4 โดยรองรับ Python 2.7 เกือบทั้งหมดเช่นกัน การแปลงเป็น CSV และ SQL (ดู to_textsql ด้านล่าง) เขียนด้วยภาษา Python ทั้งหมด ดังนั้นจึงไม่จำเป็นต้องมีการพึ่งพาเพิ่มเติม สำหรับรูปแบบการส่งออกอื่นๆ โปรดดูข้อกำหนดเพิ่มเติม โค้ดนี้ได้รับการออกแบบมาให้ใช้งานง่าย รวดเร็ว และหน่วยความจำมีประสิทธิภาพสำหรับการประมวลผลไฟล์แบบโต้ตอบหรือแบบแบตช์ ดังนั้นจึงขาดคุณสมบัติมากมาย เช่น ความสามารถในการเขียนไฟล์ DBF ที่แพ็คเกจอื่นอาจมีให้

เราสนับสนุนการแก้ไขข้อบกพร่อง คำถาม และคำขออัปเดต และสามารถยื่นได้ที่ repo GitHub

รหัสนี้มาจากตัวอย่าง ActiveState DBF ที่ทำงานร่วมกับ Python2 และเผยแพร่ภายใต้ใบอนุญาต PSF

ข้อกำหนดเพิ่มเติม

  • แพนด้า >= 0.15.2 (จำเป็นสำหรับ DataFrame)
  • PyTables >= 3.1 (ต้องมี Pandas สำหรับตาราง HDF)
  • SQLalchemy >= 0.9 (ต้องใช้ Pandas สำหรับตาราง DataFrame-SQL)

การติดตั้ง

รุ่นล่าสุดของ Simpledbf สามารถติดตั้งได้โดยใช้ pip หรือ condaหากคุณบังเอิญใช้การแจกจ่าย Anaconda Python

สามารถติดตั้งเวอร์ชันการพัฒนาได้จาก GitHub:

อีกทางเลือกหนึ่งคือ แพ็คเกจนี้มีเพียงไฟล์เดียว ดังนั้นโดยหลักการแล้ว คุณสามารถดาวน์โหลดไฟล์ ได้ simpledbf.py ไฟล์จาก Github และวางไว้ในโฟลเดอร์ที่คุณเลือก

ข้อ จำกัด ของไฟล์ DBF

แพ็คเกจนี้สนับสนุนชุดย่อยของ dBase III ถึง 5 DBF ไฟล์ โดยเฉพาะอย่างยิ่ง ไม่มีการสนับสนุนสำหรับไฟล์บันทึกช่วยจำที่เชื่อมโยง (เช่น DBT) สาเหตุส่วนใหญ่เกิดจากข้อจำกัดในประเภทของไฟล์ที่ผู้เขียนสามารถใช้ได้ อย่าลังเลที่จะขอการอัปเดตหากคุณสามารถจัดหาไฟล์ DBF ที่มีไฟล์บันทึกช่วยจำที่เกี่ยวข้อง แพ็คเกจนี้ไม่รองรับ DBF เวอร์ชัน 7 ซึ่งเป็นข้อมูลจำเพาะไฟล์ DBF ล่าสุด

รองรับ Python 2

ยกเว้นการส่งออกไฟล์ HDF รหัสนี้ควรทำงานได้ดีกับ Python >=2.7 อย่างไรก็ตาม ไฟล์ HDF ที่สร้างใน Python3 นั้นเข้ากันได้กับแพ็คเกจ Python2 HDF ทั้งหมด ดังนั้น โดยหลักการแล้ว คุณสามารถสร้างไฟล์ HDF ใดๆ ในสภาพแวดล้อม Python3 ชั่วคราวได้ หากคุณกำลังใช้การแจกจ่าย Anaconda Python (แนะนำ) คุณสามารถสร้างสภาพแวดล้อมการทำงาน Python3 ขนาดเล็กได้ดังนี้:

ขณะนี้การส่งออกไฟล์ HDF ใช้งานไม่ได้ใน Python2 เนื่องจากข้อจำกัดในการส่งออก Pandas HDF ด้วยยูนิโค้ด ปัญหานี้อาจแก้ไข Pandas/PyTables เวอร์ชันในอนาคตได้


ส่งออก Excel เป็น CSV ด้วยการเข้ารหัส UTF-8 หรือ UTF-16

หากสเปรดชีต Excel ของคุณมีสัญลักษณ์พิเศษ อักขระต่างประเทศ (ตัวหนอน เครื่องหมายเน้นเสียง ฯลฯ) หรืออักษรอียิปต์โบราณ การแปลง Excel เป็น CSV ตามวิธีที่อธิบายไว้ข้างต้นจะไม่ทำงาน

ประเด็นคือ บันทึกเป็น CSV คำสั่งบิดเบือนอักขระใดๆ ที่ไม่ใช่ ASCII (รหัส American Standard สำหรับการแลกเปลี่ยนข้อมูล) และถ้าไฟล์ Excel ของคุณมีเครื่องหมายคำพูดอัจฉริยะหรือขีดกลางยาว (เช่น สืบทอดมาจากเอกสาร Word ต้นฉบับที่คัดลอก/วางไปยัง Excel) อักขระเหล่านี้ก็จะถูกบิดเบี้ยวไปด้วย

อีกทางเลือกหนึ่งที่ง่ายคือการบันทึกเวิร์กบุ๊ก Excel เป็นไฟล์ Unicode (.txt) แล้วแปลงเป็น CSV ด้วยวิธีนี้ คุณจะรักษาอักขระที่ไม่ใช่ ASCII ทั้งหมดไม่ให้เสียหาย

ก่อนที่เราจะดำเนินการต่อ ให้ฉันชี้ให้เห็นความแตกต่างที่สำคัญระหว่างการเข้ารหัส UTF-8 และ UTF-16 โดยย่อ เพื่อให้คุณสามารถเลือกรูปแบบที่ถูกต้องในแต่ละกรณี

UTF-8 เป็นการเข้ารหัสที่กะทัดรัดกว่าเนื่องจากใช้ 1 ถึง 4 ไบต์สำหรับแต่ละสัญลักษณ์ โดยทั่วไป ขอแนะนำให้ใช้รูปแบบนี้หากอักขระ ASCII แพร่หลายที่สุดในไฟล์ของคุณ เนื่องจากอักขระดังกล่าวส่วนใหญ่ถูกจัดเก็บไว้ในหนึ่งไบต์ต่อไฟล์ ข้อดีอีกประการหนึ่งคือไฟล์ UTF-8 ที่มีเฉพาะอักขระ ASCII เท่านั้นที่มีการเข้ารหัสแบบเดียวกับไฟล์ ASCII

UTF-16 ใช้ 2 ถึง 4 ไบต์ในการจัดเก็บแต่ละสัญลักษณ์ อย่างไรก็ตาม ไฟล์ UTF-16 ไม่ต้องการพื้นที่จัดเก็บมากกว่า UTF-8 เสมอไป ตัวอย่างเช่น อักขระภาษาญี่ปุ่นใช้ 3 ถึง 4 ไบต์ใน UTF-8 และ 2 ถึง 4 ไบต์ใน UTF-16 ดังนั้น คุณอาจต้องการใช้ UTF-16 ถ้าข้อมูล Excel ของคุณมีอักขระเอเชีย รวมทั้งญี่ปุ่น จีน หรือเกาหลี ข้อเสียที่เห็นได้ชัดเจนของรูปแบบนี้คือมันเข้ากันไม่ได้กับไฟล์ ASCII อย่างสมบูรณ์ และต้องใช้โปรแกรมที่รับรู้ Unicode บางโปรแกรมจึงจะแสดงไฟล์เหล่านั้น โปรดจำไว้ว่า หากคุณกำลังจะนำเข้าไฟล์ผลลัพธ์ที่อื่นนอก Excel

วิธีแปลง Excel เป็น CSV UTF-8

สมมติว่าคุณมีแผ่นงาน Excel ที่มีอักขระต่างประเทศ ชื่อภาษาญี่ปุ่นในกรณีของเรา:

ในการส่งออกไฟล์ Excel นี้เป็น CSV โดยรักษาอักษรอียิปต์โบราณทั้งหมดไว้ ให้ทำตามขั้นตอนด้านล่าง:

  1. ในเวิร์กชีต Excel ของคุณ ให้ไปที่ ไฟล์ > บันทึกเป็น.
  2. ตั้งชื่อไฟล์และเลือก ข้อความ Unicode (*.txt) จากรายการดรอปดาวน์ถัดจาก "บันทึกเป็นประเภท" แล้วคลิก บันทึก.

หากคุณต้องการไฟล์ CSV ที่คั่นด้วยเครื่องหมายจุลภาค ให้ดำเนินการกับ Notepad ด้วยวิธีต่อไปนี้:

  • เลือกอักขระแท็บ คลิกขวาแล้วเลือก สำเนา จากเมนูบริบท หรือเพียงกด CTRL+C ดังที่แสดงในภาพหน้าจอด้านล่าง
  • กด CTRL+H เพื่อเปิด แทนที่ โต้ตอบและวางแท็บที่คัดลอก ( CTRL+V ) ใน หาอะไร สนาม เมื่อคุณทำเช่นนี้ เคอร์เซอร์จะเลื่อนไปทางขวาเพื่อระบุว่าแท็บถูกวางแล้ว พิมพ์เครื่องหมายจุลภาคใน แทนที่ด้วย ฟิลด์และคลิก แทนที่ทั้งหมด.

ใน Notepad ไฟล์ที่ได้ควรมีลักษณะดังนี้:

วิธีแปลงไฟล์ Excel เป็น CSV UTF-16

การส่งออกไฟล์ Excel เป็น CSV UTF-16 ทำได้เร็วและง่ายกว่าการแปลงเป็น UTF-8 มาก เนื่องจาก Excel ใช้รูปแบบ UTF-16 โดยอัตโนมัติเมื่อบันทึกไฟล์เป็น Unicode (.txt)

ดังนั้นสิ่งที่คุณทำก็แค่คลิก ไฟล์ > บันทึกเป็น ใน Excel เลือก ข้อความ Unicode (*.txt) รูปแบบไฟล์ แล้วเปลี่ยนนามสกุลไฟล์เป็น .csv ใน Windows Explorer เสร็จแล้ว!

หากคุณต้องการไฟล์ CSV ที่คั่นด้วยเครื่องหมายจุลภาคหรือคั่นด้วยเครื่องหมายอัฒภาค ให้แทนที่แท็บทั้งหมดด้วยเครื่องหมายจุลภาคหรืออัฒภาคตามลำดับใน Notepad หรือโปรแกรมแก้ไขข้อความอื่นๆ ที่คุณเลือก (ดูขั้นตอนที่ 6 ด้านบนสำหรับรายละเอียดทั้งหมด)


การแปลงไฟล์ CSV ใน MyGeoData Converter - ไม่รู้จักคอลัมน์ XY - Geographic Information Systems

Portfolio Decision Model Tevere ลุ่มน้ำ

ใช้ Git หรือชำระเงินด้วย SVN โดยใช้ URL ของเว็บ

ทำงานอย่างรวดเร็วด้วย CLI อย่างเป็นทางการของเรา เรียนรู้เพิ่มเติม.

เปิดตัว GitHub Desktop

หากไม่มีอะไรเกิดขึ้น ให้ดาวน์โหลด GitHub Desktop แล้วลองอีกครั้ง

เปิดตัว GitHub Desktop

หากไม่มีอะไรเกิดขึ้น ให้ดาวน์โหลด GitHub Desktop แล้วลองอีกครั้ง

เปิดตัว Xcode

หากไม่มีอะไรเกิดขึ้น ให้ดาวน์โหลด Xcode แล้วลองอีกครั้ง

เปิดตัว Visual Studio Code

Codespace ของคุณจะเปิดขึ้นเมื่อพร้อม

เกิดปัญหาในการจัดเตรียม codespace ของคุณ โปรดลองอีกครั้ง


ดูวิดีโอ: How to save a Microsoft Excel spreadsheet in CSV format