Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am running excel and would like to export my file as a .scsv (semi-colon separated values) sheet instead of a .csv. Is there any way to do this?

ps. I can't do a .csv and search and replace commas with semi-colons because the fields contain commas already.

share|improve this question
If you're open to doing a little programming, a converter could be written fairly easily in the Python programming language using its built-in csv module which would make it easy to read Excel .csv files and then write new versions of them that had just about any delimiter your desired. – martineau Sep 17 '12 at 21:38
It depends if there are commas in the entries or not. – AER Dec 3 '14 at 0:54
up vote 7 down vote accepted

How about doing Tab Delimited and replacing the tabs with semi-colons?

In excel: File -> Save As -> in Format select "Tab Delimited Text (.txt)" then his save.

Open the file in notepad and open the replace window. Since you can't tab directly into this window, copy a tab from your document and then paste it into the Find box and put your ; into the replace box. Then replace all.

I assume this would work because it is very rare to have tabs within an excel document.

share|improve this answer
Although basic for most users, could you provide a set of instructions as well? – Canadian Luke Sep 17 '12 at 21:06
Can that be done entirely within Excel and if so, how? – martineau Sep 17 '12 at 21:22
I don't think it can be done entirely in Excel. Excel hides the formating (tabs) so you wouldn't be able to replace them. After replacing them with semi-colons you wouldn't be able to open with excel either (it'd just be one giant cell) – Robert Sep 17 '12 at 23:01

I don't think you can set output separator directly in Excel, but (assuming Windows) you could change OS list separator to ; - that's done in Regional Settings->Customize. Excel will use that setting outputing your csv files.

share|improve this answer
Important note: if you do this, all Windows programs that use the Internationalized Windows libraries will assume that ; is the separator character for all CSV files. If this is a one time solution, it probably makes more sense to save a regular CSV file and use an editor to change the commas to semicolons – Isaac Rabinovitch Sep 18 '12 at 3:04
This change will also affect Opening of CSV files in Excel. And as mentioned in comment above, possibly more programs. If you want to make more compatible CSV file, put sep=; on top of the CSV file, then once you save the file, you can change List Separator back to whatever it was. – papo Dec 30 '15 at 3:04

If you would like a script, paste the following in a module.

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.
                strString = strString & Cells(i, j).Value
            End If
        Next j
        Print #1, strString
    Next i

    Close #1
End Sub
share|improve this answer

To change comma to semicolon as the default Excel separator for CSV - go to Region -> Additional Settings -> Numbers tab -> List separator and type ; instead of the default ,

share|improve this answer

Check this screenshot :

You can change separator globally.

share|improve this answer
Don't just post a link to the answer, include the salient details in the answer. If the targetted page goes away, then the answer is useless. Also, although I'm no Windows expert, this looks the same as wmz's answer from three years ago. – blm Jan 16 at 17:50

1.> Change File format to .CSV (semicolon delimited)

To achieve the desired result we need to temporary change the delimiter setting in the Excel Options.

Move to File -> Options -> Advanced -> Editing Section

Uncheck the “Use system separators” setting and put a comma in the “Decimal Separator” field.

Now save the file in the .CSV format and it will be saved in the semicolon delimited format !!!

share|improve this answer
Taken from… Please note that attribution is required. – Arjan Apr 28 '14 at 7:11

I use in simple way:-

  1. Open csv(semicolon) file with Notepad or Notepad++.
  2. Find and Replace(Ctrl+H) from semicolon(;) to comma(,).
  3. Save and close file.
  4. Now, open modify file with Ms-Excel.
share|improve this answer
This only works if no string contains a ";" or "," otherwise this wouldn't generate what the author actually wants. – Ramhound Apr 13 '15 at 17:22
This is going in the wrong direction.  The question asks how to create a semi-colon separated values file; this answer assumes that a semi-colon separated values file already exists and describes how to create a CSV file — incorrectly, as it doesn't take into consideration the key constraint of the question: namely, that the data are known to contain the delimiter. – G-Man Apr 13 '15 at 19:54

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .