CSV로 저장할 때 특수 문자를 파괴하는 Excel


21

클라이언트가 제공 한 CSV 파일을 사용하여 데이터베이스를 채우는 프로젝트를 진행 중입니다. 클라이언트는 스프레드 시트를 만든 다음 업로드 할 CSV로 저장 한 다음 데이터베이스로 파싱합니다.

문제는 클라이언트가 Excel 스프레드 시트를 MS-DOS .csv 파일로 저장할 때마다 많은 특수 문자가 물음표 "?"로 변환된다는 것입니다. ( ' "/)와 같은 기호) 그러나 CSV 파일을 열고 각?를 올바른 문자로 수동으로 바꾸면 제대로 작동합니다.

문제는 데이터 파일이 너무 커서 합리적으로 할 수 없으므로 저장하는 방법이 있기를 바랐습니다. 우리는 아무 쓸모없는 유니 코드와 ASCII로 내보내기를 시도했습니다. 또한 Google 문서에 업로드하고 다시 저장하려고 시도했지만 다시 저장하지 않아도됩니다.


2
Excel 2007을 사용하는 경우 파일 다른 이름으로 저장 대화 상자에는 저장 단추 왼쪽에 도구 드롭 다운이 있습니다. 웹 옵션을 선택하고 인코딩 탭에서 특정 인코딩을 선택할 수 있습니다. 도움이 필요하면 시도해보십시오.

그 본문의 예는 무엇입니까?
enderland

1
문제는 재현 할 수 없습니다. 데이터가 실제로 설명하고 MS-DOS 인코딩으로 표현할 수없는 일부 문자가 아닌지 확인하십시오.
Jukka K. Korpela

답변:


11

DOS는 UTF-8 문자를 지원하지 않으므로 으로 저장하고으로 저장 CSV (Comma Delimited)하지 않도록 선택하십시오 CSV (MS-DOS).


6

xlsx 형식에서 csv 형식으로 저장할 때 잃어버린 문자 문제 만 (제 경우에는) 발생한다는 것을 알았습니다. xlsx 파일을 먼저 xls에 저장 한 다음 csv에 저장하려고했습니다. 실제로 효과가있었습니다.


이것은 나를 위해 작동하지 않습니다. 나는 아직도 얻는가? CSV 파일에서
thanos.a

4

가능한 해결 방법은 파일을 Unicode Text(2007 이전 버전에 대해서는 잘 모르는 상태로) 저장하여 탭으로 구분 된 텍스트 파일로 저장하는 것입니다.

이 파일은 유니 코드 문자 (내 경우 아시아 문자로 작업하고 있음 )를 보존 하면서 일종의 구분 된 텍스트 파일을 생성 한 다음 필요한 경우 외부 도구를 통해 csv로 변환 할 수 있습니다.

내 입력에는 각 셀에 탭이 포함되어 있지 않으므로 어떻게 처리되는지 확실하지 않습니다.


3

나를 위해 일하는 것은 다음과 같습니다.

  1. Excel 또는 CSV에서 데이터 수정
  2. 파일을 유니 코드 텍스트로 저장
  3. 메모장 열기
  4. NOTEPAD를 사용하여 방금 저장 한 유니 코드 파일을 엽니 다.
  5. 커서를 사용하여 단일 탭 5a가있는 빈 영역을 강조 표시하십시오. 하나의 탭을 보유하므로 획득 ID와 요청 유형 사이의 공백을 사용하십시오!
  6. Cnrl-C를 눌러 탭 문자를 복사하십시오.
  7. Cnlr-H를 입력하여 바꾸기 기능 상자를 엽니 다.
  8. 찾을 내용 텍스트 상자를 클릭하고 Cnlr-V를 입력하여 탭을 붙여 넣습니다.
  9. 바꿀 내용 텍스트 상자를 클릭하고 쉼표를 입력하십시오
  10. 한 번 테스트하려면 바꾸기를 클릭하십시오. 파일의 탭이 쉼표로 바뀌 었는지 확인
  11. 모두 바꾸기를 클릭하십시오.
  12. 취소를 클릭하십시오
  13. 파일을 저장하고 종료하십시오
  14. Windows 탐색기에서 파일 확장자를 .csv로 변경하십시오.

1
이것은 메모장 ++를 사용하여 나를 위해 일했습니다.
ChrisB

예, 유니 코드로 내보내고 탭을 찾아 쉼표로 바꿔야했습니다.
nilloc

2

나는 잠시 동안이 문제를 겪어 왔으며 마침내 그것을 알아낼 시간을 주었다! "Windows Comma Separated (.csv)"로 저장하여 문제를 해결할 수있었습니다. .xlsx와 .xls에서 시도했지만 둘 다 .csv로 변환되었습니다. 이것이 도움이되기를 바랍니다-이 방법으로 문제가 발생하면 알려주십시오. 앞으로 몇 주 동안 무언가를 보게되면 다시보고하겠습니다.


1
슈퍼 유저에 오신 것을 환영합니다. 질문에 바로 답할 수있게되어 기쁩니다.
CharlieRB

1

해결책:

  1. CSV 파일을 메모장에서 열고 (ANSI라고 표시됨) 메모장에서 UTF-8로 다시 저장하십시오.

  2. 그런 다음 가져 오기가 작동합니다. 그러나 Excel에서 다시 열면 Excel이 기본적으로 UTF-8로 인코딩 할 수 없기 때문에 저장하면 작동하지 않습니다.

  3. 다른 옵션은 UTF-8로 올바르게 인코딩 할 수있는 www.LibreOffice.org (무료)의 CSV 파일로 작업하는 것입니다 (나는 직접 시도하지는 않았습니다).

분수가있는 제품의 csv를 WooCommerce로 가져 오는 것과 비슷한 문제가 발생했는데 "?" 오류 문자. CSV 파일이 UTF-8로 인코딩되지 않았기 때문입니다. 그러나 UTF-8 인코딩으로 CSV 파일을 Excel에 저장 한 후에도 여전히 작동하지 않습니다.

여러 포럼을 긁은 후에는 Excel에서 UTF-8로 인코딩하는 옵션을 제공하지만 CSV로 저장하면 UTF-8을 선택하더라도 Excel에서 자동으로 ANSI로 다시 변환하는 것으로 보입니다.



0

.csv 형식으로 일본어 용어를 다운로드하는 동안 특수 문자 문제가 발생했지만 .csv 파일을 텍스트 형식 (Tab 구분)으로 저장하면 일본어 문자가 완벽하게 채워집니다. 그런 다음 방금 텍스트 파일에서 데이터를 복사하여 스프레드 시트에 붙여 넣었습니다. 잘 작동했습니다 !!!

감사합니다, Vaishakh


이것은 질문에 대한 답변을 제공하지 않습니다. 작성자의 의견을 비판하거나 설명을 요청하려면 게시물 아래에 댓글을 남겨주세요. 언제든지 자신의 게시물 에 댓글 수 있으며 평판 이 충분 하면 게시물댓글 수 있습니다 .
Ramhound

0

최고의 솔루션을 찾았습니다 : http://woshka.com/blog/microsoft/microsoft-microsoft/microsoft-microsoft.com

링크에서 :

시작 메뉴에서 1- 클릭

2- 선택 제어판

클래식 모드에서 지역 및 언어 옵션 3 개 찾기 또는 제어판 창의 오른쪽 상단에있는 검색 창에 이름을 입력하십시오.

고급 탭을 클릭하고 로케일을 클릭하십시오.

Excel로 CSV로 저장하려는 페르시아어 또는 아랍어 또는 원하는 UTF-08 인코딩 프로그램을 클릭하십시오.


woshka.com 은 더 이상 유효한 URL이 아니며 현재 도메인 파킹입니다.
Craig London

0

™에 대한 해결책을 찾았습니다. .xlsx 파일에서 모든 "™"을 "& tr-ade;"로 바꾸십시오. 교체에서-를 제거하십시오. 파일을 .csv로 저장하면 모든 작업이 완료됩니다. 그것이 당신을 위해 작동하기를 바랍니다.


0

Mac 컴퓨터에서는 이것이 나를 위해 일한 것입니다.

Excel에서 다른 이름으로 저장을 선택한 다음 드롭 다운에서 Windows 쉼표로 구분 된 (CSV)를 선택하십시오.

그냥 작동합니다 !!!


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