ฉันจะบันทึกสเปรดชีต excel เป็นไฟล์ค่าที่คั่นด้วยเครื่องหมายอัฒภาคได้อย่างไร


31

ฉันกำลังใช้งาน excel และต้องการส่งออกไฟล์ของฉันเป็นแผ่น. scsv (คั่นด้วยเครื่องหมายทวิภาค) แทนที่จะเป็น. csv มีวิธีการทำเช่นนี้?

PS ฉันไม่สามารถใช้. csv และค้นหาและแทนที่เครื่องหมายจุลภาคด้วยเซมิโคลอนได้เนื่องจากฟิลด์มีเครื่องหมายจุลภาคอยู่แล้ว


หากคุณเปิดการเขียนโปรแกรมเล็กน้อยตัวแปลงสามารถเขียนได้ค่อนข้างง่ายในภาษา Python โดยใช้csvโมดูลในตัวซึ่งจะทำให้ง่ายต่อการอ่านไฟล์ Excel. csv จากนั้นเขียนเวอร์ชันใหม่ที่มีเพียง เกี่ยวกับตัวคั่นที่คุณต้องการ
martineau

ขึ้นอยู่กับว่ามีเครื่องหมายจุลภาคในรายการหรือไม่
AER

คำตอบ:


20

วิธีการทำคั่นด้วยแท็บและแทนที่แท็บด้วยเซมิโคลอน?

ใน excel: ไฟล์ -> บันทึกเป็น -> ในรูปแบบเลือก "Tab Delimited Text (.txt)" จากนั้นบันทึกของเขา

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

ฉันคิดว่าสิ่งนี้จะได้ผลเพราะหายากมากที่มีแท็บภายในเอกสาร excel


แม้ว่าพื้นฐานสำหรับผู้ใช้ส่วนใหญ่คุณสามารถให้ชุดคำสั่งด้วยหรือไม่
Canadian Luke ติดตั้งใหม่ MONICA

สามารถทำได้ทั้งหมดใน Excel และถ้าเป็นเช่นนั้นได้อย่างไร
martineau

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

ฉันถือว่าการใช้ regex เพื่อแทนที่และการวาง\tจะใช้งานได้
Yassin Hajaj

เมื่อคุณมีอักขระพิเศษในภาษาอื่นในไฟล์ของคุณ (เช่นภาษากรีก) สิ่งนี้ดูเหมือนจะไม่ทำงานเนื่องจากสัญลักษณ์ของอักขระถูกแทนที่ด้วย '?'
Joos

8

ฉันไม่คิดว่าคุณสามารถตั้งค่าตัวคั่นผลลัพธ์โดยตรงใน Excel แต่ (สมมติว่า Windows) คุณสามารถเปลี่ยนตัวคั่นรายการระบบปฏิบัติการเป็น;- ที่ทำRegional Settings->Customizeมา Excel จะใช้การตั้งค่าการส่งไฟล์ csv ของคุณ


5
หมายเหตุสำคัญ: หากคุณทำเช่นนี้โปรแกรม Windows ทั้งหมดที่ใช้ไลบรารี Internationalized Windows จะถือว่าเป็นเช่นนั้น เป็นตัวคั่นสำหรับไฟล์ CSV ทั้งหมด หากนี่เป็นวิธีแก้ปัญหาเพียงครั้งเดียวก็อาจเหมาะสมกว่าที่จะบันทึกไฟล์ CSV ปกติและใช้โปรแกรมแก้ไขเพื่อเปลี่ยนเครื่องหมายจุลภาคเป็นเครื่องหมายอัฒภาค
Isaac Rabinovitch

การเปลี่ยนแปลงนี้จะส่งผลต่อการเปิดไฟล์ CSV ใน Excel และตามที่ระบุไว้ในความคิดเห็นด้านบนอาจเป็นไปได้ว่าโปรแกรมเพิ่มเติม หากคุณต้องการสร้างไฟล์ CSV ที่ใช้งานร่วมกันได้มากขึ้นให้วางsep=;ที่ด้านบนของไฟล์ CSV จากนั้นเมื่อคุณบันทึกไฟล์คุณสามารถเปลี่ยน List Separator กลับไปเป็นอะไรก็ได้
papo

7

ใช้LibreOffice Calc (เป็นการดาวน์โหลดฟรีและทำงานบนระบบปฏิบัติการหลักทั้งหมด)

วิธีบันทึกค่าที่คั่นด้วยเครื่องหมายอัฒภาค:

  1. เปิดไฟล์ xlsx / csv ของคุณ
  2. ไฟล์ -> บันทึกเป็น ...
  3. เลือก "กรอง CSV" เป็นตัวกรอง (ควรเป็นค่าเริ่มต้นหากชื่อไฟล์ของคุณลงท้ายด้วย.csv)
  4. ทำเครื่องหมาย "แก้ไขการตั้งค่าตัวกรอง" แล้วกดบันทึก
  5. เมื่อระบบขอการยืนยันรูปแบบไฟล์ให้กด "ใช้รูปแบบข้อความ CSV"
  6. เปลี่ยน "ตัวคั่นฟิลด์" เป็นเซมิโคลอน (คุณสามารถพิมพ์อะไรก็ได้ที่นี่)
  7. กดตกลง

LO Calc จะจัดการเครื่องหมายจุลภาคและเซมิโคลอนอย่างถูกต้องในค่าเซลล์


1
ขอบคุณทำงานได้ดี นี่ควรเป็นคำตอบที่ยอมรับได้
Ortomala Lokni

4

หากคุณต้องการสคริปต์ให้วางสิ่งต่อไปนี้ลงในโมดูล

Option Explicit
Sub export2scsv()
    Dim lastColumn As Integer
    Dim lastRow As Integer
    Dim strString As String
    Dim i As Integer, j As Integer

    lastColumn = ActiveSheet.UsedRange.Column - 1 + ActiveSheet.UsedRange.Columns.Count
    lastRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row

    Open "output.scsv" For Output As #1

    For i = 1 To lastRow
        Cells(i, 1).Select
        strString = ""
        For j = 1 To lastColumn
            If j <> lastColumn Then
                strString = strString & Cells(i, j).Value & ";" ' Use semicolon instead of pipe.
            Else
                strString = strString & Cells(i, j).Value
            End If
        Next j
        Print #1, strString
    Next i

    Close #1
End Sub

4

หากต้องการเปลี่ยนเครื่องหมายจุลภาคเป็นเครื่องหมายอัฒภาคเป็นตัวคั่น Excel เริ่มต้นสำหรับ CSV - ไปที่ภูมิภาค -> การตั้งค่าเพิ่มเติม -> แท็บตัวเลข -> ตัวคั่นรายการและประเภท; แทนค่าเริ่มต้น


3

คุณสามารถเปลี่ยนตัวคั่นทั่วโลกผ่านการปรับแต่งรูปแบบ

เรียกดูภูมิภาคและภาษาเปิดภูมิภาคบนแท็บเล็ตรูปแบบคลิกที่ปุ่มการตั้งค่าเพิ่มเติมและบนแท็บเล็ตหมายเลขเปลี่ยนค่าสำหรับตัวคั่นรายการ:


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

0

1. > เปลี่ยนรูปแบบไฟล์เป็น. CSV (คั่นด้วยเครื่องหมายอัฒภาค)

เพื่อให้ได้ผลลัพธ์ตามที่ต้องการเราจำเป็นต้องเปลี่ยนการตั้งค่าตัวคั่นชั่วคราวในตัวเลือกของ Excel

ย้ายไปที่ไฟล์ -> ตัวเลือก -> ขั้นสูง -> ส่วนการแก้ไข

ยกเลิกการเลือกการตั้งค่า“ ใช้ตัวคั่นระบบ” และใส่เครื่องหมายจุลภาคในฟิลด์“ ตัวคั่นทศนิยม”

ตอนนี้บันทึกไฟล์ในรูปแบบ. CSV และจะถูกบันทึกในรูปแบบที่คั่นด้วยเครื่องหมายอัฒภาค !!!


5
นำมาจากashwaniashwin.wordpress.com/2013/04/19/…โปรดทราบว่าจำเป็นต้องมีการระบุแหล่งที่มา
Arjan

0

หากรายการค่าของคุณอยู่ในคอลัมน์ A ลองทำดังนี้ - เซลล์ B2 = A1 & ";" & A2 เซลล์ B3 = B2 & ";" & A3 คัดลอกเซลล์ B3 ไปที่ด้านล่างของรายการของคุณ หากคุณคัดลอกและวางเซลล์สุดท้ายในรายการของคุณเป็นค่าคุณจะมีรายการคั่นด้วยเครื่องหมายอัฒภาค จากนั้นคุณสามารถคัดลอกลงใน Notepad, Word หรือที่ใดก็ตามที่คุณต้องการ


0

คุณสามารถทำสิ่งนี้ได้อย่างง่ายดายใน 4 ขั้นตอนด้วยฟังก์ชันเชื่อมต่อของ Excel

  1. ในไฟล์ของคุณเพิ่มคอลัมน์ของอักขระเซมิโคลอนที่คุณคาดหวังให้อักขระนั้นอยู่ในการส่งออก. csv

  2. เริ่มคอลัมน์ใหม่ที่ท้ายข้อมูลของคุณและในแถวแรกใช้=concatenate()ฟังก์ชัน อย่าลืมเลือกเซลล์ทั้งหมดที่คุณต้องการให้ปรากฏในไฟล์สุดท้าย สูตรของคุณจะมีหน้าตาเป็นอย่างไร=concatenate(A1,A2,A3...)

  3. คัดลอกและวางสูตรผลลัพธ์ลงในแถวข้อมูลทั้งหมด

  4. เลือกทั้งคอลัมน์ของสูตรและวางแบบพิเศษ -> ค่าลงในคอลัมน์ข้างเคียง ตอนนี้คุณมีข้อมูลทั้งหมดคั่นด้วยเครื่องหมายอัฒภาค

สุดท้ายส่งออกเป็นรูปแบบไฟล์ที่คุณเลือก หากคุณส่งออกเป็น. txt ใน Windows คุณสามารถเปลี่ยนนามสกุลไฟล์เป็น. csv ได้เนื่องจากทั้งคู่เป็นรูปแบบข้อความธรรมดา


-3

ฉันใช้ในวิธีที่ง่าย: -

  1. เปิดไฟล์ csv (เซมิโคลอน) ด้วย Notepad หรือ Notepad ++
  2. ค้นหาและแทนที่ (Ctrl + H) จากเครื่องหมายอัฒภาค (;) ถึงเครื่องหมายจุลภาค (,)
  3. บันทึกและปิดไฟล์
  4. ตอนนี้เปิดไฟล์แก้ไขด้วย Ms-Excel

ใช้ได้เฉพาะในกรณีที่ไม่มีสตริงที่มี ";" หรือ "," ไม่เช่นนั้นจะไม่สร้างสิ่งที่ผู้เขียนต้องการ
Ramhound

1
นี่เป็นไปในทิศทางที่ผิด คำถามถามถึงวิธีการสร้างไฟล์ค่าที่คั่นด้วยเครื่องหมายอัฒภาค คำตอบนี้สันนิษฐานว่าไฟล์ค่าที่คั่นด้วยเครื่องหมายทวิภาคมีอยู่แล้วและอธิบายถึงวิธีการสร้างไฟล์ CSV - ไม่ถูกต้องเนื่องจากไม่คำนึงถึงข้อ จำกัด ที่สำคัญของคำถาม: กล่าวคือข้อมูลทราบว่ามีตัวคั่น .
G-Man กล่าวว่า 'Reinstate Monica'
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.