Bagaimana cara saya menyimpan excel spreadsheet sebagai file nilai terpisah semi-colon?

31

Saya menjalankan excel dan ingin mengekspor file saya sebagai lembar .scsv (nilai yang dipisahkan semi-colon) alih-alih .csv. Apakah ada cara untuk melakukan ini?

ps. Saya tidak bisa melakukan .csv dan mencari dan mengganti koma dengan titik koma karena bidang sudah mengandung koma.

Kamilski81
sumber
Jika Anda terbuka untuk melakukan sedikit pemrograman, konverter dapat ditulis dengan cukup mudah dalam bahasa pemrograman Python menggunakan csvmodul bawaannya yang akan membuatnya mudah untuk membaca file .csv Excel dan kemudian menulis versi baru dari mereka yang baru saja tentang pembatas yang Anda inginkan.
martineau
Itu tergantung apakah ada koma di entri atau tidak.
AER

Jawaban:

20

Bagaimana dengan melakukan Tab Delimited dan mengganti tab dengan semi-titik dua?

Di excel: File -> Save As -> dalam Format pilih "Tab Delimited Text (.txt)" lalu save.

Buka file di notepad dan buka jendela ganti. Karena Anda tidak dapat masuk langsung ke jendela ini, salin satu tab dari dokumen Anda dan tempelkan ke kotak Temukan dan masukkan; ke dalam kotak ganti. Lalu ganti semua.

Saya menganggap ini akan berhasil karena sangat jarang memiliki tab di dalam dokumen excel.

Robert
sumber
Meskipun dasar untuk sebagian besar pengguna, dapatkah Anda memberikan satu set instruksi juga?
Luke Kanada REINSTATE MONICA
Bisakah itu dilakukan sepenuhnya dalam Excel dan jika demikian, bagaimana?
martineau
Saya tidak berpikir itu bisa dilakukan sepenuhnya di Excel. Excel menyembunyikan pemformatan (tab) sehingga Anda tidak akan bisa menggantinya. Setelah menggantinya dengan titik koma, Anda juga tidak dapat membukanya dengan excel (hanya akan menjadi satu sel raksasa)
Robert
Saya berasumsi menggunakan regex untuk mengganti dan menempatkan \takan bekerja
Yassin Hajaj
Ketika Anda memiliki karakter khusus dari bahasa yang berbeda di file Anda (seperti bahasa Yunani) ini sepertinya tidak berfungsi karena simbol karakter diganti dengan '?'
Joos
8

Saya tidak berpikir Anda dapat mengatur pemisah output langsung di Excel, tetapi (dengan asumsi Windows) Anda dapat mengubah pemisah daftar OS ;- yang dilakukan di Regional Settings->Customize. Excel akan menggunakan pengaturan yang menghasilkan file csv Anda.

wmz
sumber
5
Catatan penting: jika Anda melakukan ini, semua program Windows yang menggunakan pustaka Windows yang diinternasionalisasi akan menganggap itu; adalah karakter pemisah untuk semua file CSV. Jika ini adalah solusi satu kali, mungkin lebih masuk akal untuk menyimpan file CSV biasa dan menggunakan editor untuk mengubah koma ke titik koma
Isaac Rabinovitch
Perubahan ini juga akan memengaruhi Pembukaan file CSV di Excel. Dan seperti disebutkan dalam komentar di atas, mungkin lebih banyak program. Jika Anda ingin membuat lebih banyak file CSV yang kompatibel, letakkan sep=;di atas file CSV, lalu setelah Anda menyimpan file, Anda dapat mengubah Pemisah Daftar kembali ke apa pun itu.
papo
7

Gunakan LibreOffice Calc (ini adalah unduhan gratis, dan bekerja pada semua sistem operasi utama).

Untuk menyimpan ke nilai yang dipisahkan semi-kolon:

  1. Buka file xlsx / csv Anda
  2. File -> Simpan Sebagai ...
  3. Pilih "Filter CSV" sebagai filter (harus default jika nama file Anda diakhiri dengan .csv)
  4. Centang "Edit pengaturan filter" dan tekan Simpan
  5. Ketika meminta konfirmasi format file, tekan "Gunakan Format Teks CSV"
  6. Ubah "Field delimiter" menjadi semi-colon (Anda bisa mengetikkan apa saja di sini).
  7. Tekan OK.

LO Calc akan menangani dengan benar koma dan semi-titik dua dalam nilai sel.

tidak ada apa-apa1
sumber
1
Terima kasih, bekerja dengan baik. Ini harus menjadi jawaban yang diterima.
Ortomala Lokni
4

Jika Anda ingin skrip, rekatkan yang berikut dalam modul.

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
pengguna157938
sumber
4

Untuk mengubah koma ke titik koma sebagai pemisah Excel default untuk CSV - buka Wilayah -> Pengaturan Tambahan -> tab Angka -> Pemisah daftar dan jenis; bukannya default,

Michael
sumber
3

Anda dapat mengubah separator secara global melalui Customize Format.

Telusuri ke Wilayah & bahasa, buka Wilayah, pada Format lembar kerja klik tombol Pengaturan Tambahan, dan pada Nomor lembar lembar mengubah nilai untuk pemisah Daftar:

Biaya Santa
sumber
Jangan hanya memposting tautan ke jawabannya, sertakan detail yang menonjol dalam jawabannya. Jika halaman yang ditargetkan dihapus, maka jawabannya tidak berguna. Juga, meskipun saya bukan ahli Windows, ini terlihat sama dengan jawaban wmz dari tiga tahun lalu.
Blm
0

1.> Ubah format File menjadi .CSV (dibatasi titik koma)

Untuk mencapai hasil yang diinginkan, kita perlu mengubah pengaturan pembatas sementara di Opsi Excel.

Pindah ke File -> Opsi -> Tingkat Lanjut -> Bagian Pengeditan

Hapus centang pada pengaturan "Gunakan pemisah sistem" dan beri koma di bidang "Pemisah Desimal".

Sekarang simpan file dalam format .CSV dan itu akan disimpan dalam format yang dibatasi titik koma !!!

pengguna318853
sumber
5
Diambil dari ashwaniashwin.wordpress.com/2013/04/19/… Harap dicatat bahwa atribusi diperlukan.
Arjan
0

Jika daftar nilai Anda ada di kolom A, coba ini - Sel B2 = A1 & ";" & A2 Sel B3 = B2 & ";" & A3 Salin sel B3 ke bagian bawah daftar Anda. Jika Anda menyalin dan menempelkan sel terakhir dalam daftar Anda sebagai nilai, Anda kemudian akan memiliki daftar yang dipisahkan semi-kolon. Anda kemudian dapat menyalinnya ke Notepad, Word, atau di mana pun Anda inginkan.

babi hutan
sumber
0

Anda dapat melakukan ini dengan mudah dalam 4 langkah dengan fungsi gabungan Excel.

  1. Dalam file Anda, tambahkan kolom karakter titik koma di mana Anda akan mengharapkan mereka mendarat di ekspor .csv.

  2. Mulai kolom baru di akhir data Anda dan di baris pertama, gunakan =concatenate()fungsinya. Pastikan untuk memilih semua sel yang ingin Anda tampilkan di file terakhir. Rumus Anda akan terlihat seperti=concatenate(A1,A2,A3...)

  3. Salin dan tempel rumus yang dihasilkan ke bawah melalui semua baris data.

  4. Pilih seluruh kolom formula dan Tempel Spesial -> Nilai ke kolom tetangga. Sekarang Anda memiliki semua data Anda dibatasi oleh tanda titik koma.

Terakhir, ekspor ke format file pilihan Anda. Jika Anda mengekspor ini sebagai .txt di Windows Anda cukup mengubah ekstensi file menjadi .csv karena keduanya adalah format teks biasa.

Greg Cavanaugh
sumber
-3

Saya menggunakan dengan cara sederhana: -

  1. Buka file csv (titik koma) dengan Notepad atau Notepad ++.
  2. Temukan dan Ganti (Ctrl + H) dari titik koma (;) ke koma (,).
  3. Simpan dan tutup file.
  4. Sekarang, buka modifikasi file dengan Ms-Excel.
anggur
sumber
Ini hanya berfungsi jika tidak ada string yang mengandung ";" atau "," jika tidak, ini tidak akan menghasilkan apa yang sebenarnya diinginkan penulis.
Ramhound
1
Ini menuju ke arah yang salah. Pertanyaannya adalah bagaimana cara membuat file nilai yang dipisahkan semi-colon; jawaban ini mengasumsikan bahwa file nilai-nilai terpisah semi-colon sudah ada dan menjelaskan cara membuat file CSV - salah, karena tidak mempertimbangkan kendala utama dari pertanyaan: yaitu, bahwa data diketahui mengandung pembatas .
G-Man Mengatakan 'Reinstate Monica'