Làm cách nào để lưu bảng tính excel dưới dạng tệp giá trị được phân tách bằng dấu hai chấm?


31

Tôi đang chạy excel và muốn xuất tệp của mình dưới dạng trang .scsv (giá trị được phân tách bằng dấu hai chấm) thay vì .csv. Có cách nào để làm điều này?

ps. Tôi không thể thực hiện .csv và tìm kiếm và thay thế dấu phẩy bằng dấu chấm phẩy vì các trường đã có dấu phẩy.


Nếu bạn sẵn sàng thực hiện một chương trình nhỏ, trình chuyển đổi có thể được viết khá dễ dàng bằng ngôn ngữ lập trình Python bằng csvmô-đun tích hợp sẵn, giúp bạn dễ dàng đọc các tệp .csv của Excel và sau đó viết các phiên bản mới của chúng. về bất kỳ phân định mong muốn của bạn.
martineau

Nó phụ thuộc nếu có dấu phẩy trong các mục hay không.
AER

Câu trả lời:


20

Làm thế nào về việc làm Tab Được phân cách và thay thế các tab bằng dấu chấm phẩy?

Trong excel: Tệp -> Lưu dưới dạng -> trong Định dạng, chọn "Văn bản được phân tách bằng tab (.txt)" rồi lưu.

Mở tệp trong notepad và mở cửa sổ thay thế. Vì bạn không thể tab trực tiếp vào cửa sổ này, sao chép một tab từ tài liệu của bạn và sau đó dán nó vào hộp Tìm và đặt của bạn; vào hộp thay thế. Sau đó thay thế tất cả.

Tôi cho rằng điều này sẽ hoạt động vì rất hiếm khi có các tab trong tài liệu excel.


Mặc dù cơ bản cho hầu hết người dùng, bạn cũng có thể cung cấp một bộ hướng dẫn không?
Luke Luke REINSTATE MONICA của Canada

Điều đó có thể được thực hiện hoàn toàn trong Excel và nếu vậy, làm thế nào?
martineau

Tôi không nghĩ rằng nó có thể được thực hiện hoàn toàn trong Excel. Excel ẩn định dạng (tab) để bạn không thể thay thế chúng. Sau khi thay thế chúng bằng dấu chấm phẩy, bạn sẽ không thể mở bằng excel (nó chỉ là một ô khổng lồ)
Robert

Tôi giả sử sử dụng regex để thay thế và đặt \tsẽ hoạt động
Yassin Hajaj

Khi bạn có các ký tự đặc biệt của một ngôn ngữ khác trong tệp của mình (như tiếng Hy Lạp), điều này dường như không hoạt động vì các ký hiệu ký tự được thay thế bằng '?'
Joos

8

Tôi không nghĩ rằng bạn có thể đặt dấu tách đầu ra trực tiếp trong Excel, nhưng (giả sử Windows) bạn có thể thay đổi dấu tách danh sách hệ điều hành thành ;- điều đó đã được thực hiện Regional Settings->Customize. Excel sẽ sử dụng cài đặt đó để xuất các tệp csv của bạn.


5
Lưu ý quan trọng: nếu bạn làm điều này, tất cả các chương trình Windows sử dụng thư viện Quốc tế hóa Windows sẽ cho rằng; là ký tự phân cách cho tất cả các tệp CSV. Nếu đây là giải pháp một lần, có lẽ sẽ hợp lý hơn khi lưu tệp CSV thông thường và sử dụng trình chỉnh sửa để thay đổi dấu phẩy thành dấu chấm phẩy
Isaac Rabinovitch

Thay đổi này cũng sẽ ảnh hưởng đến việc mở tệp CSV trong Excel. Và như đã đề cập trong bình luận ở trên, có thể nhiều chương trình hơn. Nếu bạn muốn tạo tệp CSV tương thích hơn, hãy đặt sep=;lên trên tệp CSV, sau đó khi bạn lưu tệp, bạn có thể thay đổi Danh sách phân tách thành bất kỳ tệp nào.
papo

7

Sử dụng LibreScript Calc (đây là bản tải xuống miễn phí và hoạt động trên tất cả các hệ điều hành chính).

Để lưu vào các giá trị được phân tách bằng dấu hai chấm:

  1. Mở tệp xlsx / csv của bạn
  2. Tệp -> Lưu dưới dạng ...
  3. Chọn "Bộ lọc CSV" làm bộ lọc (nên được mặc định nếu tên tệp của bạn kết thúc bằng .csv)
  4. Chọn "Chỉnh sửa cài đặt bộ lọc" và nhấn Save
  5. Khi nó yêu cầu xác nhận định dạng tệp, bấm "Sử dụng định dạng văn bản CSV"
  6. Thay đổi "Dấu phân cách trường" thành dấu chấm phẩy (bạn có thể nhập bất cứ thứ gì vào đây).
  7. Nhấn OK.

LO Calc sẽ xử lý chính xác dấu phẩy và dấu chấm phẩy trong các giá trị ô.


1
Cảm ơn bạn, làm việc tốt. Đây phải là câu trả lời được chấp nhận.
Ortomala Lokni

4

Nếu bạn muốn một tập lệnh, dán phần sau vào mô-đun.

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

Để thay đổi dấu phẩy thành dấu chấm phẩy làm dấu tách Excel mặc định cho CSV - đi tới Vùng -> Cài đặt bổ sung -> tab Số -> Dấu tách danh sách và loại; thay vì mặc định,


3

Bạn có thể thay đổi dấu phân tách trên toàn cầu thông qua Định dạng Tùy chỉnh.

Duyệt đến Vùng & ngôn ngữ, Vùng mở, trên Định dạng bảng tính, nhấp vào nút Cài đặt bổ sung và trên bảng số Số thay đổi giá trị cho Dấu tách danh sách:


Đừng chỉ đăng một liên kết đến câu trả lời, bao gồm các chi tiết nổi bật trong câu trả lời. Nếu trang bị nhắm mục tiêu biến mất, thì câu trả lời là vô ích. Ngoài ra, mặc dù tôi không phải là chuyên gia Windows, nhưng điều này trông giống như câu trả lời của wmz từ ba năm trước.
blm

0

1.> Thay đổi định dạng tệp thành .CSV (dấu chấm phẩy được phân cách)

Để đạt được kết quả mong muốn, chúng ta cần thay đổi tạm thời cài đặt dấu phân cách trong Tùy chọn Excel.

Di chuyển đến Tệp -> Tùy chọn -> Nâng cao -> Phần chỉnh sửa

Bỏ chọn Cài đặt phân tách hệ thống sử dụng Cài đặt và đặt dấu phẩy vào trường Dấu phân cách thập phân mật mã.

Bây giờ hãy lưu tệp ở định dạng .CSV và nó sẽ được lưu ở định dạng dấu chấm phẩy !!!


5
Lấy từ ashwaniashwin.wordpress.com/2013/04/19/ Khăn Xin lưu ý rằng quy kết là bắt buộc.
Arjan

0

Nếu danh sách các giá trị của bạn nằm trong cột A, hãy thử điều này - Ô B2 = A1 & ";" & A2 Ô B3 = B2 & ";" & A3 Sao chép ô B3 vào cuối danh sách của bạn. Nếu bạn sao chép và dán ô cuối cùng trong danh sách của bạn làm giá trị, thì bạn sẽ có danh sách được phân tách bằng dấu hai chấm. Sau đó, bạn có thể sao chép nó vào Notepad, Word hoặc bất cứ nơi nào bạn muốn.


0

Bạn có thể thực hiện việc này dễ dàng trong 4 bước với chức năng nối của Excel.

  1. Trong tệp của bạn, hãy thêm một cột các ký tự dấu chấm phẩy nơi bạn muốn chúng xuất hiện trong bản xuất .csv.

  2. Bắt đầu một cột mới ở cuối dữ liệu của bạn và trong hàng đầu tiên, sử dụng =concatenate()chức năng. Hãy chắc chắn chọn tất cả các ô bạn muốn xuất hiện trong tệp cuối cùng. Công thức của bạn sẽ trông giống như=concatenate(A1,A2,A3...)

  3. Sao chép và dán công thức kết quả xuống qua tất cả các hàng dữ liệu.

  4. Chọn toàn bộ cột công thức và Dán Đặc biệt -> Giá trị vào cột lân cận. Bây giờ bạn có tất cả dữ liệu của bạn được phân định bằng dấu chấm phẩy.

Cuối cùng, xuất sang định dạng tệp của bạn lựa chọn. Nếu bạn xuất tệp này dưới dạng .txt trong Windows, bạn chỉ cần thay đổi phần mở rộng tệp thành .csv vì cả hai đều là định dạng văn bản thuần túy.


-3

Tôi sử dụng một cách đơn giản: -

  1. Mở tệp csv (dấu chấm phẩy) bằng Notepad hoặc Notepad ++.
  2. Tìm và thay thế (Ctrl + H) từ dấu chấm phẩy (;) thành dấu phẩy (,).
  3. Lưu và đóng tệp.
  4. Bây giờ, mở tệp sửa đổi với Ms-Excel.

Điều này chỉ hoạt động nếu không có chuỗi chứa ";" hoặc "," nếu không điều này sẽ không tạo ra những gì tác giả thực sự muốn.
Ramhound

1
Điều này đang đi sai hướng. Câu hỏi hỏi làm thế nào để tạo một tệp giá trị phân tách dấu hai chấm; câu trả lời này giả định rằng tệp giá trị được phân tách bằng dấu hai chấm đã tồn tại và mô tả cách tạo tệp CSV - không chính xác, vì nó không xem xét ràng buộc chính của câu hỏi: cụ thể là dữ liệu được biết có chứa dấu phân cách .
G-Man nói 'Tái lập Monica'
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.