Excel에서 CSV 파일을 읽거나 쓰는 데 필요한 구분 기호 설정을 사용하지 않습니다


20

Excel에서 CSV 파일을 저장 / 열 때 기본 구분 기호는 세미콜론 (;)입니다. 쉼표 여야하기 때문에이 문제에 대한 다른 게시물에 따라 언어 및 국가 별 설정을 변경하여 변경하려고했습니다 ( 즉, Excel에서 CSV 파일의 쉼표를 기본 구분 기호로 해석하도록하려면 어떻게해야합니까? ).

그러나 해당 설정에서 목록 구분자를 변경하면 Excel에서 세미콜론으로 CSV 파일을 계속 저장합니다. 내 목록 구분 기호가 세미콜론으로 설정되어있는 동안 Excel이 설치 되었기 때문입니까? 아니면 여기에 또 다른 설정이 있습니까?

미리 감사드립니다.


기존 CSV 파일을 읽거나 쉼표를 구분 기호로 사용하여 파일을 작성하는 데 문제점이 있습니까?
fixer1234

둘 다 이미 새 파일을 저장하기 전에 @Raystafarian이 언급 한 것을 수행했습니다. 지역 설정이 정확합니다. 그런 다음 Excel을 열고 CSV로 저장하고 메모장에서 파일을 열면 세미콜론이 사용되었음을 알 수 있습니다. Excel에서 열면 Excel에서 여전히;를 사용하기 때문에 올바르게로드됩니다. 열 분리 용.
Sandra

답변:


35

나는 문제를 발견했다. 지역 설정의 내 소수점 기호도 쉼표 (유럽)이므로 내 목록 구분 기호가 쉼표 인 경우에도 CSV는 세미콜론으로 저장되었습니다. 이제 소수점 기호를 점으로 변경했으며 CSV 파일이 쉼표를 구분 기호로 사용하여 올바르게 작성되었습니다. 나는 이것을 두 번 테스트했으며 이제 예외가 있어야한다는 것을 알고 있습니다. 소수 기호가 쉼표이면 목록 구분 기호는 세미콜론이됩니다. 그렇지 않으면 다르게 설정됩니다.


12
답변으로 게시물을 업데이트하는 데 시간을 내 주셔서 감사합니다.
게리의 학생

5

저장을 위해

파일을 저장 하기 전에 언어 및 지역 설정에서 목록 구분 기호를 조정해야합니다.

여기에 이미지 설명을 입력하십시오


개통 용

데이터로 이동 -외부 데이터 가져 오기-텍스트에서

여기에 이미지 설명을 입력하십시오

파일을 선택하십시오

구분을 선택하고 다음을 누르십시오. 여기에 이미지 설명을 입력하십시오

구분 기호 쉼표를 선택하십시오

여기에 이미지 설명을 입력하십시오

완료를 클릭하십시오

여기에 이미지 설명을 입력하십시오


또는, 그것을 끌어와 열에 다음 텍스트를 사용 여기 참조


질문을 올바르게 읽으면 문제가 구분 기호로 쉼표를 사용하여 구분 된 파일을 생성 (저장)하는 것처럼 보입니다 (두 번째 단락).
fixer1234

@ fixer1234 네, 처음 읽는 방법입니다. 그러나 첫 번째 문단이 중요한 문단이라고 생각했습니다. 나는 어느 것이 올바른지 전혀 모른다. 어느 쪽이든, OP가 이미 시도한 것 외에는 창조를위한 해결책이 없습니다.
Raystafarian

예, 파일을 저장하기 전에 지역 설정을 변경했습니다. 도움이되지 않았습니다. 쉼표로 구분 된 다른 사람들로부터 CSV 파일을 받으면 데이터를 올바르게 가져 오는 데 방법을 사용하고 저장 한 다음 세미콜론으로갑니다. CSV를 가져 오기 파일로 사용하기 전에 메모장으로 이동하여 모든 세미콜론을 쉼표로 바꿔야 할 때마다 성가신 일입니다.
Sandra

0

다음은 아주 잘 작동하는 매크로입니다.

Sub saveCSV()
File = Application.GetSaveAsFilename(InitialFileName:="file.csv", FileFilter:="CSV (*.csv), *.csv")
ActiveWorkbook.SaveAs Filename:=File, FileFormat:=xlCSV, CreateBackup:=False, local:=False
End Sub

0

이것은 조금 낡았지만 같은 문제가 발생했습니다.
CSV는 세미콜론 ( ;)으로 구분되었습니다 . 시스템 구분 기호 설정 (Windows)도 세미콜론으로 설정됩니다.

  • CSV를 수동으로 열면 파일이 올바르게 분리되었습니다.
  • VBA에서 열면 쉼표로 잘못 구분됩니다.

를 사용하면 Delimiter:=";"분명히 작동합니다 .txt.

그러나를 사용 Local :=True하면 문제가 해결되었습니다.

Workbooks.Open(Filename:=fullpath, Local:=True)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.