เพิ่มขีด จำกัด ขนาดของการนำเข้าข้อมูลจาก csv ไปยัง Excel


13

ฉันมีข้อมูลในไฟล์ csv ที่ฉันกำลังนำเข้าสู่ Excel ส่วนใหญ่เป็นเรื่องปกติ แต่คอลัมน์ใดคอลัมน์หนึ่งของฉันมีข้อมูลได้มากถึง 1,000 ตัวอักษร น่าเสียดายที่ Excel ใช้ตัวมันเองเพื่อสันนิษฐานว่าเป็นข้อมูลมากกว่าที่ฉันต้องการและดูเหมือนว่าจะตัดสั้น (ที่ 255 ตัวอักษร)

ฉันจะเพิ่มขีด จำกัด นี้และเก็บรักษาข้อมูลทั้งหมดของฉันได้อย่างไร


คุณหมายความว่าอย่างไร "โชคไม่ดีที่ Excel เอามาคิดเองว่ามันเป็นข้อมูลที่มากกว่าที่ฉันต้องการและดูเหมือนว่าจะตัดสั้น" แสดงผลไม่ถูกต้องหรือไม่ จะเกิดอะไรขึ้นถ้าคุณใส่=LEN(A1)ใน Excel โดยที่ A! อ้างอิงถึงข้อความของคุณหรือไม่
ปีเตอร์อัลเบิร์ต

มันบอกว่า 255 และเมื่อฉันดูข้อมูลในกล่องสูตรมันหยุดลงทันที ฉันสามารถแสดงข้อมูลเต็มรูปแบบในสำนักงานเปิด แต่ทันทีที่ฉันวางเพื่อ excel ดูเหมือนว่าจะ จำกัด อยู่ที่ 255 ตัวอักษร เหตุผลที่ฉันไม่ได้ใช้ open office เป็นเพราะฉันสามารถผ่านเป็นข้อมูลหรือทำ vlookup ในนั้น
SwiftD

Excel สามารถจัดการข้อความได้นานกว่า 255 ตัวอักษร อย่างไรก็ตามถ้าเซลล์ถูกเติมด้วย VBA มันซับซ้อนเล็กน้อย แหล่งที่มาของคุณคืออะไร คุณจะนำไปไว้ใน Excel ได้อย่างไร
ปีเตอร์อัลเบิร์ต

ฉันมีการส่งออก CSV จากวีโอไอพี ถ้าฉันเปิดใน OO มันจะมีข้อความเต็ม ถ้าฉันเปิดใน Excel มันตัดสั้น ได้รับการตัดสั้นเมื่อฉันวางจาก OO ไปยัง excel และฉันไม่สามารถพิมพ์ด้วยตนเองได้อีกในเซลล์มันเพิ่งถูกตัดที่จุดเดียวกันทันทีที่ฉันออกจากเซลล์
SwiftD

อาจมีบางอย่างผิดปกติกับ CSV หรือไม่ คุณสามารถอัปเดตคำถามและโพสต์บางบรรทัดได้หรือไม่ นอกจากนี้การตั้งค่าตัวคั่นและตัวคั่นบนเครื่องของคุณอาจเริ่มต้นขึ้น
ม.ค. Doggen

คำตอบ:


14

มีข้อผิดพลาดแปลกใน Excel ฉันจะอธิบายวิธีหลีกเลี่ยง (ไม่แก้ไขเพียงหลีกเลี่ยง) และอาจแก้ไขได้ในไม่ช้าโดยโปรแกรมเมอร์ MS Office บางทีมันอาจจะได้รับการแก้ไขใน Excel 2013 ฉันยังไม่ได้เปิด

ดังนั้นนี่คือปัญหา

ความยาวสูงสุดของเซลล์ข้อความคือ 32767 และก็โอเค

ความยาวสูงสุดของเซลล์ตัวเลขคือ 255 และตกลง

แต่ถ้าคุณมีเซลล์ที่เรียกไปยังตัวแยกวิเคราะห์หมายเลขล้มเหลวแล้วโทรไปที่ตัวแยกวิเคราะห์ข้อความนี่จะเป็นเรื่องใหญ่

ตัวอย่างเช่น:

...,"This is a cell with 30,000 characters........",...

จะทำงาน.

แต่ถ้าคุณจะใส่เครื่องหมายลบเล็กน้อยในช่วงเริ่มต้นเช่นเดียวกับใน

...,"-This is a cell with 30,000 characters........",...

คุณจะเห็นอักขระข้อความแรก 255 ตัวเท่านั้นเนื่องจาก EXCEL คิดว่าเป็นจำนวนลบ

หวังว่ามันจะช่วย


3
นี่เป็นข้อผิดพลาดที่แปลกประหลาดที่สุดและโง่ที่สุดที่ฉันเคยเห็นในซอฟต์แวร์เชิงพาณิชย์ มันทำให้ฉันเสียสติอย่างแท้จริงว่าคุณจะจ่ายให้กับ sh * t บนโลกนี้ได้อย่างไร
astrojuanlu

1
คำอธิบายที่ดีมากขอบคุณ น่าเสียดายที่ฉันสามารถยืนยันได้ว่า - 3 ปีต่อมา - ข้อผิดพลาดยังคงมีอยู่ใน Excel 2016 ...
BurninLeo

ดี @BurninLeo ฉันสามารถบอกคุณได้ว่าสามวันหลังจากคำตอบเดิมของฉันฉันได้แชทไปที่ศูนย์นักพัฒนา MS Office และให้ลิงก์ไปยังหัวข้อผู้ใช้ขั้นสูงนี้
khitron23

ดูเหมือนว่าปัญหาจะได้รับการแก้ไขด้วย Excel 365 ProPlus รุ่น 1902
Carsten Franke

สามารถยืนยันคุณลักษณะนี้ / ข้อผิดพลาดยังคงอยู่ใน Excel 2016 ณ เดือนเมษายน 2020
geeves

1

ฉันพบปัญหานี้ด้วยไฟล์ csv ที่มีฟิลด์ข้อความยาว ๆ ซึ่งบางครั้งเริ่มต้นด้วยเส้นประ ดูเหมือนว่าการนำเข้าของ Excel จะพยายามประมวลผลเขตข้อมูลเป็นตัวเลขเนื่องจากเส้นประและการนำเข้าตัวเลขจะตัดให้เหลือ 255 อักขระ เมื่อล้มเหลวมันจะนำเข้าเป็นข้อความ แต่จะมีเพียง 255 อักขระแรก

เพื่อหลีกเลี่ยงปัญหานี้ฉันต้องนำเข้า csv แทนที่จะเปิดมัน ในตัวช่วยสร้างการนำเข้าฉันเลือกคอลัมน์ที่มีปัญหาและเปลี่ยนประเภทจากทั่วไปเป็นข้อความ จากนั้น Excel จะไม่พยายามแยกมันเป็นตัวเลขและฉันจะได้ความกว้างของคอลัมน์แบบเต็ม


0

ประการแรกขอขอบคุณทุกท่านสำหรับความช่วยเหลือในการพยายามแก้ไขปัญหานี้ ปรากฎว่า excel มีความสุขสามารถรองรับมากกว่า 255 ตัวอักษรไปยังเซลล์ (สันนิษฐานได้ถึง 32,767 ตามที่กล่าวไว้ก่อนหน้านี้ถ้าคุณมีหน่วยความจำสำหรับมัน

เหตุใดจึงไม่ทำงาน

คำตอบสั้น ๆ คือฉันไม่แน่ใจ ครั้งแรกที่ฉันนำข้อมูลเข้าสู่ excel ฉันส่งออกเป็น csv จากนั้นเปิดใน excel ทำให้คอลัมน์สั้น (ที่ 255) (ไฟล์ csv มีข้อมูลทั้งหมดเมื่อดูผ่าน notepad แต่ไม่เมื่อบันทึกอีกครั้งผ่าน excel)

คอลัมน์ในคำถามมีเครื่องหมายอัฒภาคอยู่บ้าง แต่นี่ไม่ตรงกับจุดตัด (มักจะ 255) และฉันไม่ได้ใช้ เป็นตัวคั่น

โซลูชันของฉันต้องการส่งออกเป็นไฟล์ xls สิ่งนี้ได้ถูกบันทึกไว้เป็นไฟล์ csv เรียบร้อยแล้วด้วยข้อมูลทั้งหมด

หวังว่าสิ่งนี้จะช่วยให้ใครบางคนแม้ว่าฉันจะยังไม่แน่ใจว่าสิ่งที่เป็นปัญหาที่นี่


Simple Googling ส่งผลให้โพสต์ฟอรัมจำนวนมากของผู้ที่มีปัญหาเดียวกัน อาจเป็นข้อบกพร่องในรูทีนการนำเข้า Excel CSV
มาร์คัสชาน

0

ตามที่http://office.microsoft.com/en-us/excel-help/excel-specifications-and-limits-HP010342495.aspx , Excel 2010 รองรับความกว้างของคอลัมน์ 255 อักขระเท่านั้น

แก้ไข: นี่เป็นปัญหาที่คุณพูดถึง Webweaver หรือไม่ รูปแบบ> เซลล์> ตัดข้อความทำให้ตัวอักษรที่เหลือสามารถมองเห็นได้หรือไม่

แก้ไข: ไม่เป็นไรคำตอบนี้ค่อนข้างไม่เกี่ยวข้องกับปัญหาในมือ (อาจเกี่ยวข้องกัน แต่ก็ไม่ได้ตอบคำถาม)


ไม่นั่นคือ COLUMN WIDTH จากตารางเดียวกัน "จำนวนอักขระทั้งหมดที่เซลล์สามารถมีได้" คือ 32,767 ตัวอักษร
Vicky

@Vicky นั่นไม่ใช่ปัญหาที่ผู้ถามกำลังประสบใช่ไหม หรือฉันตีความคำถามผิดหรือเปล่า?
Marcus Chan

@nixda จริงหรือ ใช่จริงน่ารำคาญ ฉันไม่สามารถเชื่อว่า excel ไม่สามารถรองรับ 255 chars ได้มากขึ้น มีวิธีการทำเช่นนี้!
SwiftD

@ Marcus ฉันไม่เข้าใจความหมายของความกว้างของคอลัมน์ นี่ไม่ได้เป็นเพียงปัญหาการแสดงผลข้อมูลไม่ได้อยู่ที่นั่น มันถูกตัดสั้น เมื่อฉันบันทึกเป็น csv ข้อมูลไม่ได้อยู่ที่นั่น เมื่อฉันทำ len (เซลล์) ผลลัพธ์จะเป็น 255
SwiftD

@MarcusChan จำนวนอักขระควรถูก จำกัด ที่ 32767 ผู้ใช้กำลังประสบกับมันถูก จำกัด ที่ 255 สิ่งที่คุณอ้างถึงคือความกว้างของคอลัมน์ที่เกี่ยวข้องกับวิธีการแสดงคอลัมน์ซึ่งไม่ใช่ปัญหาของ OP
Vicky

0

โดยทั่วไปนี่เป็นข้อ จำกัด เก่าที่ไม่สามารถใช้กับ Excel เวอร์ชันใหม่ (2013 ต่อไป) อย่างไรก็ตามหากสมุดงานถูกสร้างขึ้นในรุ่นเก่ากว่าเดิมเซลล์ของวัตถุที่ได้รับการแก้ไข (เช่นการสร้างอินสแตนซ์ที่มีคุณสมบัติและคุณลักษณะเฉพาะ) ในเวอร์ชันที่เก่ากว่าจะยังคงรักษาข้อ จำกัด 255 อักขระไว้แม้ว่าจะเปิดใน Excel รุ่นใหม่!

การแก้ไข:

  1. การใช้ Excel รุ่นที่ทันสมัยในเซลล์ที่ไม่ได้ใช้งานที่แตกต่างกันบนแผ่นงานให้สร้างสิ่งที่จัดรูปแบบและ / หรือเงื่อนไขช่วงที่ผสานสำหรับเซลล์ปัญหา
  2. ตรวจสอบให้แน่ใจว่าได้ตั้งค่าเป็นรูปแบบทั่วไปหรือข้อความ
  3. ตัดหรือคัดลอกและวางเซลล์รุ่นใหม่ที่สร้างขึ้นใหม่ (หรือช่วงที่ผสาน) และวางไว้เหนือรุ่นเก่าหรือไม่ดี
  4. ตอนนี้เมื่อป้อนข้อมูลลงในเซลล์ปัญหาจะไม่ปรากฏอีกต่อไป

เมื่อโพสต์ WebweaverD เขาพบวิธีแก้ไขปัญหาการนำเข้า csv ของเขา นอกจากนี้หากมีการเติมเซลล์ผ่าน VBA แสดงว่าสถานการณ์นั้นซับซ้อนมากขึ้นเช่นเดียวกับคำตอบอื่น ๆ แต่ถ้าข้อมูลถูกป้อนด้วยตนเองหรือคัดลอก / วางจากแอปพลิเคชันอื่นลงในสมุดงานดั้งเดิมปัญหาอาจเกิดจากปัญหาแอตทริบิวต์ของเซลล์ดั้งเดิม


0

ฉันมีปัญหาที่คล้ายกันค่าทั้งหมดของฉันอยู่ในรูปแบบ (เพื่อให้สามารถแปลงตัวเลขเป็นตัวเลขข้อความเป็นข้อความ แต่ถูกตัดเป็นข้อความยาว:

...,="Long Text........",...

หากคุณใส่ = ที่จุดเริ่มต้นคุณจะเห็นอักขระข้อความแรก 255 ตัวเท่านั้นเนื่องจาก EXCEL คิดว่าเป็นตัวเลขดังนั้นให้ลบ = เมื่อเริ่มต้น

หวังว่ามันจะช่วย


1
สิ่งนี้แตกต่างจากสิ่งที่คนอื่นพูดถึงแล้วในคำตอบหรือไม่? สิ่งนี้อาจต้องตั้งค่าสถานะ ged และคุณสามารถขอให้ผู้ดำเนินการแปลงเป็นความคิดเห็นได้เนื่องจากคุณไม่มีตัวแทนเพียงพอที่จะทำด้วยตัวเอง
Pimp Juice IT

0

วิธีแก้ปัญหา (พร้อมใช้งานใน Excel 2016) ...

ตัวเลือก A. ให้ Excel เรียกใช้ตัวช่วยสร้างการนำเข้าข้อความ (โดยใช้นามสกุลไฟล์. txt หรือใช้นามสกุล. xls ยอมรับคำเตือนเลือกคอลัมน์แรกแล้วทำ Data => 'Text to Columns') จากนั้นเปลี่ยนประเภทคอลัมน์จากทั่วไปเป็นข้อความใกล้กับส่วนท้ายของวิซาร์ด

ตัวเลือก B. ใช้ Get & Transform ข้อมูล => แบบสอบถามใหม่ => จากไฟล์ => จาก CSV


ลองเพิ่มการอ้างอิงถึงคำตอบนี้เพื่อสนับสนุนสิ่งที่คุณระบุ
Pimp Juice IT
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.