วิธีหลีกเลี่ยงเครื่องหมายคำพูดคู่เมื่อบันทึกไฟล์ Excel เป็น Unicode


9

ฉันมีไฟล์ Excel ที่มีเนื้อหา Unicode "text"ซึ่งบางเซลล์มีข้อความให้อยู่ในเครื่องหมายยกตัวอย่างเช่น

เมื่อฉันบันทึกไฟล์ Excel ลงในไฟล์ข้อความในรูปแบบ Unicode ข้อความที่มีเครื่องหมายคำพูดคู่จะถูกบันทึกเป็นเครื่องหมายคำพูดคู่สาม"""text"""ตัว

มีบางที่ที่ฉันมีข้อความซึ่งมีเครื่องหมายจุลภาค (,) ตัวอย่างเช่นtext,ซึ่งถูกแปลงเป็น"text,"ไฟล์ Unicode มันเพิ่มเครื่องหมายคำพูดคู่กับข้อความซึ่งฉันเดาว่ามีอักขระพิเศษ

ฉันจะหลีกเลี่ยงสิ่งนี้ได้อย่างไร

คำตอบ:


7

นี่เป็นพฤติกรรมมาตรฐาน (และคล้ายกับวิธีบันทึกไฟล์ CSV) ดูRFC 4180 - รูปแบบทั่วไปและประเภท MIME สำหรับไฟล์ค่าคั่นด้วยจุลภาค (CSV) :

หากมีการใช้เครื่องหมายคำพูดคู่เพื่อใส่เขตข้อมูลดังนั้นเครื่องหมายอัญประกาศคู่ที่ปรากฏภายในเขตข้อมูลจะต้องถูกหลีกเลี่ยงโดยนำหน้าด้วยเครื่องหมายคำพูดคู่อื่น

สิ่งที่นำไปใช้กับกรณีของคุณ?

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

  • Excel เลือกที่จะอ้างText,เช่นกันเนื่องจากมีการใช้เครื่องหมายจุลภาคเป็นตัวคั่นในไฟล์ที่คั่นด้วยเครื่องหมายจุลภาคและไม่ใส่เครื่องหมายคำพูดในเครื่องหมายคำพูดหมายความว่าtext,จะแยกวิเคราะห์เป็นสองฟิลด์เมื่อคุณเปิดไฟล์อีกครั้ง

หากคุณไม่ต้องการไฟล์เหล่านั้นในเอาต์พุตให้ลองเปิดไฟล์ผลลัพธ์ในเท็กซ์เอดิเตอร์และลบเครื่องหมายคำพูดทั้งหมดด้วยการค้นหาและแทนที่แบบง่าย


2
คุณหมายถึงว่าไม่มีวิธีอื่นในการแก้ไขปัญหานอกเหนือจากการแทนที่ในตัวแก้ไขข้อความ
karthik

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

ขอบคุณอาจเป็นฉันจะพยายามแทนที่ในด้านการเข้ารหัส
karthik

@slhck: ฉันกำลังประสบปัญหาในขณะที่บันทึก Unicode เป็น CSV ในปี 2010 superuser.com/q/1210099/234380
NJMR

3

ฉันมีปัญหานี้เช่นกัน จากนั้นฉันสังเกตเห็นว่าฉันมองเห็นบันทึกเป็นประเภท:ตัวเลือก " ข้อความที่จัดรูปแบบ (คั่นด้วยช่องว่าง) " คุณต้องระบุ ส่วนขยายtxtหรือจะเป็นค่าเริ่มต้นด้วยส่วนขยาย. prn ตัวอย่างเช่น filename.txt แทนที่จะเป็นเพียงแค่ชื่อไฟล์ ลองทำดู มันทำงาน


จะคั่นด้วยช่องว่างแทนการคั่นด้วยแท็บและคอลัมน์จะถูกจำกัดความกว้างโดยประมาณ 8 อักขระโดยค่าเริ่มต้น
JosiahYoder-deactive ยกเว้น ..

"A short sentence"นี้จะไม่ทำงานถ้าเซลล์มีสิ่งที่ชอบ คำตอบของ Pete ด้านล่างเป็นคำตอบเดียวที่เหมาะกับฉัน
คาลิ

2

การบันทึกเป็น Unicode ดูเหมือนจะเพิ่มในเครื่องหมายคำพูดแม้ว่าจะไม่มีเครื่องหมายคำพูดในสตริงของฉัน นี่คือวิธีที่ฉันได้รอบ:

  1. ค้นหาสตริงที่ไม่ได้อยู่ในไฟล์ของคุณ (ฉันใช้xxx)
  2. ก่อนการส่งออกค้นหาและแทนที่อัญประกาศคู่ทั้งหมด"ด้วยxxx
  3. ส่งออกไฟล์ของคุณไปยัง txt หรือ csv
  4. เปิดไฟล์ txt แล้วค้นหา & แทนที่คำพูดทั้งหมดโดยไม่ทำอะไรเลย
  5. ค้นหาและแทนที่ทั้งหมดxxxด้วยคำพูด

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

0

บันทึกไฟล์ของคุณเป็น space delimited.prn อย่างง่ายดายใน excel แล้วเปลี่ยนชื่อเป็น. txt ฉันใช้สิ่งนี้กับวิกฤต 18,000 แถว ;)

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