วิธีเปิดไฟล์ CSV คั่นด้วยเครื่องหมายอัฒภาคใน Excel เวอร์ชัน US


95

เมื่อฉันดับเบิลคลิกที่ไฟล์. csv มันจะเปิดใน Excel csv-files มีคอลัมน์คั่นด้วยเครื่องหมายอัฒภาค (ไม่ใช่เครื่องหมายจุลภาค แต่เป็นรูปแบบที่ถูกต้อง)

เมื่อใช้การตั้งค่า Windows / Excel เยอรมันไฟล์ที่เปิดจะแสดงขึ้นอย่างถูกต้องคอลัมน์จะถูกแยกออกโดยมีเครื่องหมายอัฒภาคอยู่ในไฟล์ csv

แต่เมื่อฉันทำเช่นเดียวกันในการตั้งค่า (US-) ภาษาอังกฤษ Windows / Excel จะมีการนำเข้าเพียงหนึ่งคอลัมน์เท่านั้นแสดงข้อมูลทั้งหมดรวมถึงเครื่องหมายอัฒภาคในคอลัมน์แรก
(ฉันไม่มีการตั้งค่าภาษาอังกฤษสำหรับการทดสอบผู้ใช้รายงานพฤติกรรม)

ฉันพยายามเปลี่ยนค่าตัวคั่นรายการในการตั้งค่าภูมิภาคของ Windows แต่นั่นไม่ได้เปลี่ยนแปลงอะไรเลย

ฉันจะทำอย่างไรเพื่อให้สามารถดับเบิลคลิกเปิดไฟล์ CSV เหล่านั้นในการตั้งค่าภาษาอังกฤษ

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


1
คุณสามารถแนะนำผู้ใช้ของคุณให้ใช้Lotus Symphony Spreadsheets - จัดการกับ CSV ด้วยตัวคั่นโดยอำเภอใจ
naught101

คำตอบ:


1

มีการแจกจ่ายไฟล์เหล่านั้นหรือไม่ ดาวน์โหลด? สร้างขึ้นในท้องถิ่นหรือไม่

ฉันคิดว่าวิธีที่ไม่เหมือนใครในการแก้ปัญหาของคุณโดยไม่ต้องเข้าถึงพีซีของผู้ใช้และโดยที่เขาไม่ต้องทำอะไรที่แตกต่างจาก "ดับเบิ้ลคลิก" บนไฟล์คือการแปลงไฟล์เป็น. xls ก่อนกระจายหรือวางเพื่อดาวน์โหลดหรือสร้าง a .xls (หรือรูปแบบอื่นที่ใช้งานได้) แทนไฟล์. csv คุณสามารถทำได้ด้วยสคริปต์หรือด้วยตนเองกับ Excel ที่ใช้งานได้ขึ้นอยู่กับจำนวนไฟล์และวิธีการสร้าง


ใช่ฉันคิดว่าเป็นวิธีที่ดีที่สุดในการสร้างไฟล์ XLS โดยตรง ฉันหวังว่าจะมีการจัดรูปแบบสำหรับไฟล์ CSV ที่ทำให้สามารถใช้งานได้ในระดับสากล แต่หากไม่สามารถทำได้ไฟล์ XLS จะทำงานไม่ว่าที่ไหน
Holgerwa

8
นี่เป็นคำตอบที่ถูกต้องอย่างไรมันไร้ประโยชน์
Stevie G

คำตอบแย่มาก - ดูคำตอบ upvoted อื่น
jmc

203

เพิ่มในบรรทัดแรกของไฟล์ CSV:

sep=;

หรือ

sep=,

นี่จะแทนที่การตั้งค่าระบบ ("ตัวคั่นรายการ") และ Excel จะเปิดไฟล์อย่างถูกต้อง


4
+1 ทำสิ่งนี้ใน excel 2010 และทำงานได้อย่างสมบูรณ์
N Reed

8
มีรายการของการตั้งค่าอื่น ๆ หรือไม่? การบอกให้ Excel ใช้งานเนื่องจากตัวคั่นทศนิยมมักใช้ร่วมกับการบอกให้ใช้ เป็นตัวคั่นคอลัมน์
ZweiBlumen

5
ทำงานได้อย่างสมบูรณ์แบบสำหรับ Excel แต่โปรดทราบว่านี่อาจไม่ได้รับการสนับสนุนในโปรแกรมสเปรดชีตหรือข้อมูลอื่น อาจเป็นปัญหาเล็ก ๆ เพียงแค่แสดงบรรทัดแรกที่มีsep=หรือsep=;อยู่ในนั้น แต่โปรแกรมหรือสคริปต์อัตโนมัติบางอย่างอาจไม่คาดว่าจะมีบรรทัดแรกที่เกินพิเศษส่งผลให้ส่วนหัวคอลัมน์หรือsep=;บรรทัดที่ถูกตีความว่าเป็นข้อมูลจริง
Sygmoral

5
ระวังด้วยนะ ถ้าคุณบันทึกใน Excel มันจะ: - ลบสเปคของตัวแยก - บันทึกด้วยตัวคั่นการตั้งค่าภูมิภาค
Bjinse

1
สามารถยืนยันได้fwrite($fileHandle, 'sep=,' . "\r\n");อย่างสมบูรณ์แก้ไขปัญหาด้วยfputcsvใน PHP
h2ooooooo

26

คุณสามารถใช้ตัวช่วยสร้างการนำเข้าข้อความ สิ่งนี้ใช้ไม่ได้กับการดับเบิลคลิกเปิด แต่สิ่งที่ดีที่สุดที่ฉันสามารถทำได้คือไม่ยุ่งกับการตั้งค่า lanugage

ใน Excel 2003 goto Data-> Import External Data-> Import Dataบนแถบเมนู (ไม่สามารถบอกได้ว่ามันอยู่ที่ไหนในปี 2007 ฉันไม่ต้องทำแบบนั้นในขณะนี้) ค้นหาและเลือกไฟล์ CSV ของคุณ

เมื่อเปิดคุณจะได้รับText Import Wizardซึ่งจะช่วยให้คุณระบุตัวคั่นที่จะใช้


ใน Outlook 2007 ไปที่แท็บ Data และเลือก colum ของคุณและคลิกที่ปุ่ม Text to Columns ในชุด Data Tools
Hondalex

1
ใช่นั่นคือทางออก น่าเสียดายที่ผู้ใช้ที่ต้องการดูข้อมูลไม่เต็มใจที่จะทำเช่นนี้ พวกเขาสามารถจัดการ "ดับเบิลคลิกเปิด" แต่จะไม่สามารถทำอะไรที่ซับซ้อนกว่านี้ได้ เราได้พยายามให้ความรู้แก่พวกเขาอย่างน้อยที่สุด แต่พวกเขาปฏิเสธ
Holgerwa

1
@ Holgerwa - เป็นไปได้หรือไม่ที่จะเรียกใช้ไฟล์ผ่านกระบวนการแปลงบางประเภทก่อนมอบให้ผู้ใช้? หรือพวกเขาต้องการที่จะยังคงคั่นด้วยเซมิโคลอน? คนอื่น ๆ ได้แนะนำสิ่งนี้ แต่มันควรจะค่อนข้างง่ายที่จะสลับเซมิโคลอนสำหรับคอมมาโดยใช้สคริปต์บางประเภท (ผมขอแนะนำให้ใช้คำสั่งค้นหา / แทนที่ง่าย ๆ เพราะคุณไม่ต้องการแปลงคำพูดเหล่านั้นภายใน)
DMA57361

6

ดูบทความนี้:
ปัญหาเกี่ยวกับการเปิดไฟล์ CSV ด้วย Excel? จุลภาคและอัฒภาคออกใน Excel เนื่องจากการตั้งค่าภูมิภาคสำหรับยุโรป

ข้อเสนอ 3 ตัวเลือก:

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

ในขณะที่คุณมีการเปลี่ยนแปลงเพียงค่าแยกรายการในการตั้งค่าภูมิภาค Windows ผมทราบว่าบทความกล่าวว่าจะเข้าสู่“” สำหรับDecimal Symbolและ“” List Separatorสำหรับ

ถ้าคุณรู้สึกสบายใจกับ VBA ให้ดู:

การเปิดไฟล์ CSV ที่คั่นด้วยเครื่องหมายอัฒภาคด้วย VBA ใน Excel 2000 การ
ส่งออกและนำเข้าข้อความด้วย Excel


ฉันยอมรับตัวเลือกที่ถูกต้องทั้งหมด แต่น่าเสียดายที่ฉันไม่ได้อยู่ในสถานการณ์ปกติกับผู้ใช้ไฟล์ CSV เหล่านี้ .TXT- นำเข้าจะไม่ทำงาน (ดูความคิดเห็นของฉันในคำตอบของ DMA57361) การแทนที่เครื่องหมายอัฒภาคด้วยเครื่องหมายจุลภาคจะไม่ทำงานเนื่องจากปัญหาตัวคั่นทศนิยมและการเปลี่ยนการตั้งค่าภูมิภาคจะไม่ทำงานเพราะฉันไม่สามารถเข้าถึง พีซีที่ใช้ ผู้ใช้จะคลิกสองครั้งที่ไฟล์และหากพวกเขาไม่ได้รับสิ่งที่พวกเขาคาดหวังพวกเขาจะบ่นและปฏิเสธที่จะช่วยในการแก้ไขปัญหา
Holgerwa

@ Holgerwa: หากคุณไม่ได้ควบคุมพีซีของผู้ใช้คุณไม่ต้องทำอะไรเลย เนื่องจากข้อเสนอแนะอื่น ๆ ของฉันคือเปลี่ยน handler เป็น. csv extension ให้เป็นโปรแกรมของคุณเองซึ่งจะแก้ไข (แต่อย่างชาญฉลาด) ตัวคั่นและเรียก Excel
harrymc

@Holgerwa: โปรดทราบการแก้ไขของฉันข้างต้นเกี่ยวกับการตั้งค่าภูมิภาค
harrymc

3

วิธีที่ดีที่สุดที่ฉันได้ลองคือการตั้งค่าภูมิภาคของคอมพิวเตอร์ดังนี้

  • ใน "มาตรฐานและรูปแบบ" เลือก "อังกฤษ (สหรัฐอเมริกา)";
  • ใน "สถานที่" เลือก "สหรัฐอเมริกา"

มันใช้งานได้สำหรับฉันลองใช้ดู


ที่จริงแล้วปัญหาของ OP นั้นตรงกันข้าม ควรเปลี่ยนเป็นภูมิภาคยุโรปเพื่อรับเครื่องหมายจุลภาคเป็นสัญลักษณ์ทศนิยมจากนั้นเครื่องหมายอัฒภาคจะเป็นตัวคั่นรายการ
yosh m

0

หากไม่มีเครื่องหมายจุลภาคอื่น ๆ ในไฟล์คุณสามารถค้นหา / แทนที่ในเท็กซ์เอดิเตอร์บนเครื่องหมายอัฒภาคเพื่อเปลี่ยนเป็นเครื่องหมายจุลภาค ถือว่าเป็นไฟล์ csv ปกติหลังจากนั้น


ไฟล์ CSV เหล่านี้จำเป็นต้องใช้งานในประเทศต่าง ๆ (การตั้งค่าภูมิภาค) และในการตั้งค่าภูมิภาคหลาย ๆ เครื่องหมายจุลภาคคือตัวคั่นทศนิยมแทนที่จะเป็นจุด ไฟล์ "ค่ามาตรฐาน" คั่นด้วยเครื่องหมายจุลภาคจะไม่ทำงาน ฉันเดาว่าเป็นเหตุผลที่เพิ่มเซมิโคลอนเป็นตัวคั่นที่ถูกต้องสำหรับไฟล์ CSV
Holgerwa
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.