เหตุใด Excel จึงลบศูนย์นำหน้าเมื่อแสดงข้อมูล CSV


9

ฉันมีไฟล์ข้อความ CSV พร้อมเนื้อหาดังต่อไปนี้:

"Col1","Col2"
"01",A
"2",B
"10", C

เมื่อฉันเปิดมันด้วย Excel มันจะแสดงดังที่แสดงที่นี่:

โปรดทราบว่าเซลล์A2พยายามแสดง "01" เป็นตัวเลขโดยไม่มีเครื่องหมาย "0"

เมื่อฉันจัดรูปแบบแถว 2 ถึง 4 เป็น "ข้อความ" จะเปลี่ยนการแสดงผลเป็น

... แต่ยังคงนำหน้า "0"

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


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

3
(สำหรับผู้ใช้นอกสหราชอาณาจักรของเรา "Bob's aunty" เป็นสำนวนที่แปลอย่างหลวม ๆ "และคุณพร้อม")
iglvzx

โรเบิร์ตไม่ใช่ป้าของฉัน :-) ฉันคิดว่าฉันเคยประสบความสำเร็จในการทำสิ่งนั้นมาก่อน แต่มันไม่ได้ผล ลองมัน. สิ่งที่ทำให้ฉันสับสนคือเหตุผลที่การจัดรูปแบบเซลล์เนื่องจากข้อความไม่ได้ส่งผลให้ค่า "02" ถูกแยกออกโดยมีค่านำ 0 เหลืออยู่
ชาด

1
ถ้า CSV เป็นสำหรับ excel เท่านั้นคุณสามารถใช้ตัวเลขอย่างชัดเจนเป็นข้อความ - เช่นถ้าคุณเขียน'01ใน Excel ก็จะแสดง01ได้โดยไม่ต้องพูดเดียว ..
Aprillion

คำตอบ:


6

เมื่อคุณเปิด csv คุณจะมีตัวเลือกในการระบุตัวคั่นและชนิดข้อมูลสำหรับแต่ละคอลัมน์ ตัวช่วยสร้างการนำเข้าข้อความมี 3 ขั้นตอน โปรดทราบว่าภาพหน้าจอของฉันมาจาก Excel 2010 แต่จะทำงานในลักษณะเดียวกันใน Excel 2003

ขั้นตอนที่ 1:เลือกตัวคั่น (แทนความกว้างคงที่)

ขั้นตอนที่ 2:เลือกเครื่องหมายจุลภาคเป็นตัวคั่นของคุณ

ขั้นตอนที่ 3:เลือกแต่ละคอลัมน์และเปลี่ยนรูปแบบข้อมูลเป็น "text" (คุณจะเห็นคำว่าข้อความปรากฏอยู่ด้านบนแต่ละคอลัมน์เหมือนในภาพหน้าจอด้านล่าง)

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

ศูนย์นำหน้าจะไม่ถูกลบอีกต่อไป:

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

อัปเดต : หากคุณไม่ต้องการสำรวจกระบวนการเพื่อให้ Excel ร่วมมือกันคุณสามารถใช้CSVEdซึ่งเป็นโปรแกรมแก้ไขที่ออกแบบมาเฉพาะสำหรับการแก้ไขไฟล์ข้อความที่มีการคั่น โปรแกรมแก้ไขข้อความที่ดีเช่น Notepad ++ อาจใช้งานได้ แต่คุณจะไม่สามารถเห็นข้อมูลของคุณถูกจัดเรียงในคอลัมน์



1
ปัญหาของฉันคือไฟล์ของฉันมีนามสกุล csv และกล่องโต้ตอบนำเข้าจะไม่ปรากฏขึ้นมา เมื่อฉันเปลี่ยนชื่อไฟล์เพื่อให้มีนามสกุลข้อความฉันก็พร้อมและรู้ว่าจะไปที่ไหน TY
ชาด

นี่คือความยุ่งยาก: หลังจากนำเข้ามันตามที่คุณอธิบายแล้วฉันต้องการความสามารถในการแก้ไขไฟล์และบันทึกเป็น CSV มันแสดงให้ฉันด้วยกล่องโต้ตอบน่าเกลียดที่ซับซ้อน (c'mon microsoft- ออกแบบฟอร์มโต้ตอบที่กำหนดเองสำหรับสิ่งนี้แทนที่จะใช้คุณลักษณะ MessageBox Windows!) ฉันเลือกตัวเลือกเพื่อ "เก็บไว้ในรูปแบบเดียวกัน" เมื่อฉันทำเช่นนั้นค่าเริ่มต้นจะเป็นรูปแบบที่คั่นด้วยแท็บ เพื่อให้แน่ใจว่าไฟล์ txt ถูกบันทึกด้วยตัวคั่นจุลภาคคุณต้องเปลี่ยนนามสกุลไฟล์กลับเป็น "csv" สิ่งนี้น่าเกลียดไหม หลังจาก Excel 10 เวอร์ชันเรามีแล้ว
ชาด

สวัสดี Velika ดูอัปเดตที่ด้านล่างของคำตอบของฉัน คุณอาจจะดีกว่าที่ไม่ได้ใช้ Excel เลย
Jon Crowell

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

13

เพิ่งพบปัญหานี้ หากคุณควบคุมการสร้างไฟล์ CSV คุณสามารถทำให้ข้อมูลมีลักษณะดังนี้:

"Col1","Col2"
="01",A
="2",B
="10", C

เมื่อเปิดเป็น Excel มันจะเก็บ 01


My Excel 2010 ไม่รักษา 01 แม้ตัวอย่างของคุณ
OneWorld

1

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


0

ก่อนอื่นให้คัดลอกข้อมูล / คอลัมน์และแถวทั้งหมดจากแผ่นงาน Excel ที่แท้จริงลงในแผ่นงาน Excel อีกแผ่นเพื่อให้อยู่ในด้านที่ปลอดภัยเพื่อให้คุณมีข้อมูลจริงที่จะนำมาเปรียบเทียบ ขั้นตอน

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

หากคุณมีมากกว่าหนึ่งคอลัมน์ที่มีค่า 0 ให้ทำซ้ำเหมือนเดิม

วันแห่งความสุข.


0

1) วางตัวเลขของฉันลงในคอลัมน์ excel (มันจะลบศูนย์นำหน้า)

2) จากนั้นคลิกขวาที่ "format cells" ที่กำหนดเองถึง 0000 สำหรับ 4 หลัก #, 00000 สำหรับ 5digits # ฯลฯ ... (นำค่าศูนย์เหล่านั้นกลับมา)

3) คัดลอกคอลัมน์และวางลงในไฟล์. txt (ควรมีศูนย์นำหน้าทั้งหมด)

4) คัดลอกรายการ. txt ของคุณ

5) คลิกขวาที่คอลัมน์ใด ๆ ใน excel และจัดรูปแบบเป็นข้อความ

6) วางข้อมูลที่คัดลอกจาก. txt ลงในคอลัมน์ excel (ศูนย์นำหน้าทั้งหมดยังคงอยู่)

เติมเต็มความปรารถนาในหัวใจของคุณ


0

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

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

นี่คือมาโครที่สามารถทำได้ทั้งแผ่น เพียงระบุจำนวนหลัก

Sub whyNot()
Dim WS As Worksheet, fMat As String, p As Long

    '''''Custom Options
    Const NumberOfPlaces As Long = 3 '' change this to number of places you want
    Set WS = ActiveSheet 'or specify the sheet name with Sheets("Sheet1")


        For p = 1 To NumberOfPlaces
        fMat = fMat & "0"
        Next p

        WS.UsedRange.Cells.NumberFormat = fMat

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