Excel에서 CSV 파일의 모든 열을 어떻게 인용하도록합니까?


89

Excel은 특정 필드에만 따옴표를 배치합니다. Excel에서 모든 열 주위에 따옴표가있는 CSV 파일을 저장하려면 어떻게해야합니까?

답변:


44

LibreOffice 또는 OpenOffice에서 XLS 파일을 연 다음 다른 이름으로 저장 ...을 선택하고 텍스트 CSV를 선택하면 따옴표를 구분 기호로 포함하는 CSV 파일을 생성 할 수 없습니다. 예 : "Smith", "Pete", "Canada" "Jones", "Mary", "England"

"모든 텍스트 셀 인용"상자를 체크하십시오 : LibreOffice를 사용하여 CSV로 내보내기

숫자 필드도 인용하려면 셀 범위를 강조 표시하고 저장하기 전에 셀 서식을 "텍스트"로 변경하십시오.


7
특정 질문에 대한 답변은 아니지만 고객이 매크로를 사용하도록하는 것보다 간단한 해결 방법입니다.
Duncanmoo

저는 매일이 방법을 사용하는 데 지쳤습니다. 그래서 여기에 있습니다
vladkras

OpenOffice는 휴대용 소프트웨어이기 때문에 이것이 가장 쉽고 편리한 솔루션이라고 생각합니다. 아무것도 설치하거나 코드를 작성할 필요가 없습니다.
Scott Chu

최고의 답변 !!
rajya vardhan

20
전혀 대답이 아닙니다. 질문은 MS Excel에 관한 것입니다
vladkras

43

이 페이지에는 또한 말의 입에서 나오는 해결책이 있습니다.

http://support.microsoft.com/kb/291296/en-us

링크가 저하되면 검색 할 주제는 다음과 같습니다.

"Excel에서 쉼표와 따옴표 구분 기호를 모두 사용하여 텍스트 파일을 내보내는 절차"및 / 또는 "Q291296"

tl; dr : 매크로 사용


10
주목할만한 것은 매크로가 행 및 열 값에 정수를 사용한다는 것입니다. 32768보다 큰 행을 내보내려고하면 오류가 발생합니다. 예를 들어 데이터 유형을 Long으로 변경하면 해당 문제가 해결됩니다.
Dan

좋은 자리 (+1). 최대 32768 행의 Excel 버전 용으로 처음 작성된 이후 코드를 업데이트하지 않은 것 같습니다.
sahmeepee

9
이 매크로를 사용하여 요지를 만들 자유를 얻었고 gist.github.com/fabriceleal/7803969
fableal

@fableal 그레이트 스 니펫! 답을 얻을 가치가 있습니다.
xiankai

@sahmeepee가 언급했듯이 Office 2010은 여전히 ​​선택된 행 수가 많을 때 오버플로합니다.
access_granted 오전

18

이 쉬운 해결책을 찾았습니다.

  1. 따옴표를 추가 할 셀을 강조 표시하십시오.
  2. 마우스 오른쪽 버튼을 클릭하고 셀 서식 → 탭 : 숫자 → 범주 : 사용자 정의로 이동하십시오.
  3. 다음을 유형 필드에 붙여 넣으십시오 "''"@"''"(아래 세부 사항 참조).
  4. "확인"을 클릭하십시오

붙여 넣는 문자열 "''"@"''"은 큰 따옴표, 작은 따옴표, 작은 따옴표, 큰 따옴표, @ 기호, 큰 따옴표, 작은 따옴표, 작은 따옴표, 큰 따옴표입니다.

여기에 있는 정보에서 Excel 2010 용으로 편집했습니다 .


흠 .. 저에게 "(큰 따옴표)가 아닌"ITEM "(작은 따옴표 두 개)을주었습니다. 방금 검색을하고 문제를 해결했습니다.
Clay Nichols

6
형식은 \ "@ \"이어야합니다.
manat

이 답변은 LibreOffice를 사용하는 경우 실제로 완벽한 해답입니다. 형식> 숫자 형식 메뉴에는 옵션이 있다고 주장하는 문서에도 불구하고 "텍스트"옵션이 전혀 없습니다. LibreOffice에서 "셀 서식"을 마우스 오른쪽 버튼으로 클릭하면 드롭 다운에 표시되는 약간 쓸모없는 6 옵션 대신 전체 셀 해석 옵션 목록이 제공됩니다.
1owk3y 2016 년

@manat의 답변이지만 곱슬 따옴표는 없습니다.\"@\"
MSC

12

Powershell이 ​​올바르게 덤프 된 것으로 나타납니다. 그래서 같은

powershell을 모르는 경우 Windows 시스템에서 powershell.exe를 검색하십시오.

import-csv C:\Temp\Myfile.csv | export-csv C:\Temp\Myfile_New.csv -NoTypeInformation -Encoding UTF8

그것이 누군가를 돕기를 바랍니다.


편의상 CSV가 저장된 폴더를 Shift + 마우스 오른쪽 단추로 클릭하고 여기 에서 PowerShell 창 열기를 선택 하면 명령이 간단 해집니다 import-csv Myfile.csv | export-csv Myfile_quoted.csv -NoTypeInformation -Encoding UTF8. 공백이나 다른 특수 문자와 함께 파일 이름 주위에 작은 따옴표를 사용해야합니다.
Walf

4

가장 쉬운 방법은 다음과 같습니다. 스프레드 시트를 Access 2010으로 가져 와서 구분 된 텍스트 파일로 내보냈습니다. 내 필드 주위에 따옴표를 줘. 단계가 줄어 들었으므로 이제 42k 행에 1 분도 걸리지 않습니다.


필드 자체에 큰 따옴표가 포함되어 있으면 유일한 단점입니다.
access_granted

3

VBA 매크로와 관련이 없지만 메모장 ++ 또는 유사한 매크로 기반 텍스트 편집기가 필요한 다른 해결 방법을 찾았습니다.

파일을 탭으로 구분 된 텍스트로 내 보낸 다음 메모장 ++에서 내 보낸 파일을 엽니 다. '탭'문자의 모든 인스턴스를 텍스트 ","(예 : 문자 그대로 큰 따옴표, 쉼표, 큰 따옴표)로 바꾸고 다른 매크로를 사용하여 각 텍스트 줄 앞에 큰 따옴표를 붙입니다.

약간 해 키지 만 VBA 매크로가 작동하는 것보다 빠릅니다.


1
Notepad ++에서 그렇게하려면 정규식 검색 및 바꾸기를 사용하는 것이 가장 좋으며 한 번에 세 개의 바꾸기 작업 (줄 시작, 탭 및 끝)을 모두 수행 할 수 있습니다.
sahmeepee

3

따옴표를 추가 할 셀을 강조 표시하십시오. 형식 –> 셀 –> 사용자 정의 복사 / 붙여 넣기로 이동하여 유형 필드에 다음을 입력하십시오. \”@ \”“확인”을 클릭하십시오. 모든 작업을 직접 수행하지 않았 으면 좋겠습니다.

보낸 사람 : http://www.lenashore.com/2012/04/how-to-add-quotes-to-your-cells-in-excel-automatically/


1
이것은 알파에서 잘 작동합니다. 숫자 값이있는 열에는 \ "# \"가 필요합니다.
DropHit

\ "@ \"와 \ "# \"사이에서 작동합니다. 그러나 여전히 숫자 열의 메모장 ++에서 헤더를 편집 한 다음 모든 "" "를"로 바꿔야합니다. 얼마나 아파요?
게리

그것을 시도하지 않았습니다 .. 그러나 CSV를 작성하는 경우 열을 텍스트로 변경하고 \ "@ \"를 사용할 수 없습니다.
Steve Coleman

2
  1. 따옴표를 추가 할 셀을 강조 표시하십시오.
  2. 마우스 오른쪽 버튼을 클릭하고 셀 서식 → 탭 : 숫자 → 범주 : 사용자 정의로 이동하십시오.
  3. 다음을 유형 필드에 붙여 넣으십시오 "''"@"''"(아래 세부 사항 참조).
  4. "확인"을 클릭하십시오
  5. 메모장 또는 이와 동등한 형식으로 .csv 파일을 엽니 다.
  6. 모든 ' '(반복 작은 따옴표)를 "(큰 따옴표)로 바꿉니다.
  7. 전부 교체 ;
  8. 수정 된 .csv 파일 저장

1

Notepad ++를 사용하여 각 줄의 시작 부분에 따옴표를 추가하는 경우 내 보낸 csv 파일을 열고 첫 번째 열의 첫 번째 열에 커서를 놓은 다음 ' Edit to Insert Column '필드에서 메뉴 Edit / Column Editor ... 를 클릭하십시오 . "을 입력 하면 각 줄의 시작 부분에 따옴표가 붙습니다. 그런 다음 정규식을 사용하여 모든 탭을 검색 / 교체 할 수 있습니다.


0

Windows 사용자의 경우

  1. Excel 파일을 CSV로 "다른 이름으로 저장"
  2. Mircrosoft Works 스프레드 시트로 저장된 파일 열기
  3. 스프레드 시트를 CSV로 "다른 이름으로 저장"
  4. 숫자가 아닌 모든 필드는 이제 그들 주위에 "

이것은 앞뒤로 다양한 키보드 인용 부호가 아닙니다.
따라서 CSV를 사용하여 Mysql 테이블에로드하고 ENCLOSED 매개 변수로 잘라 붙여 넣으면 메시지가 표시되는 이유가 궁금합니다.#1083 - Field separator argument is not what is expected


3
Mircrosoft Works <-? 확실합니까?
nixda

0

아래 접근법을 사용하여 Excel에서 세 개의 열을 가져오고 네 번째 열에서 문자열을 작성했습니다.

=CHAR(34)&A2&CHAR(34)&","&CHAR(34)&B2&CHAR(34)&","&CHAR(34)&C2&CHAR(34)&""

"''"@"''"접근 방식에 대한 내 문제 는 내 데이터의 두 번째 열은 숫자였으며 "''"@"''"접근 방식은 숫자와 관련이 없었습니다. 때로는 두 번째 열이 비어 있지만 최종 텍스트 파일에 표시되는지 확인해야했습니다.


0

다른 방법으로 MS 액세스 권한이 있으면 (2007 버전) 파일을 가져온 다음 텍스트 파일로 내 보냅니다. 그런 다음 .txt를 .csv로 변경하십시오. 모든 숫자 필드 주위에 큰 따옴표가 없으므로 숫자 주위에 큰 따옴표가 필요한 경우 Access에서 필드를 숫자 필드에서 텍스트 필드로 변경하십시오.


0

데이터 복사본, 수식, 내보내기, 파일 속성 변경, 메모장의 대체, 내 보낸 파일 저장 및 정리를 사용하여 Excel 2016 및 메모장에서만 쉼표로 구분되고 따옴표로 묶인 문자열을 내보낼 수 있습니다. 각각은 간단한 단계입니다. 상세히:

  1. 새 중간 시트로 내보낼 열을 복사하여 원본과 백업을 유지하고 새 시트를 나중에 삭제하여 스프레드 시트를 그대로 둡니다.

  2. 그렇지 않으면 발생하지 않는 문자, 예를 들어 A 열에있는 문자열의 각 끝에 '#'또는 ';-)'를 =concat("#",trim(A1),"#")넣고 수식을 사용하여 수식을 다른 열의 모든 행에 놓습니다.

    • 인접한 열을 동시에 수행 할 수 있지만 문자열로 읽지 않도록 숫자를 인용하지 마십시오.
    • 트림은 비공식 내보내기 동작을 유발할 수있는 후행 공백을 방지합니다.
    • 문자열은 가져 오기를 방해 할 수있는 '' '를 포함하지 않아야합니다.
  3. 수식을 전달하지 않도록 '123'방법을 사용하여 A ... 위에 새 열을 다시 복사하십시오.

  4. 시트를 CSV 파일로 내보내 숫자를 포함한 필드 사이에 쉼표를 넣습니다.

  5. 메모장으로 열 수 있도록 file.csv 속성을 변경하십시오.

  6. 임의의 문자를 '' '로 바꾸려면 메모장을 사용하십시오.

  7. "를 임의의 문자로 사용하는 것이 합리적으로 보이지만 '$ A $ 50'과 같은 다른 셀에 넣어야하며, 내보내기에 나타나는 것은 '" ""', 다른 불편한 트리거입니다.

  8. 메모장에서 파일을 저장하여 가져올 * .txt 파일이되고 중간 * .csv가 삭제됩니다.

  9. 추가 스프레드 시트 시트 미션을 정리했습니다.

아마도 Access 내보내기 도구를 언젠가 Excel에 포함시킬 수 있습니다. 잘라 내기 및 붙여 넣기를 사용하는 프로그램 중에서보다 일반적인 방법은 붙여 넣기 옵션에 출력 구조를 해석하고 구분 기호를 제공하는 방법을 선택하는 것입니다.


0

2014 년 8 월 21 일 Michael의 답변 이 정말 도움이됩니다. 그러나 추가 단계를 수행해야했습니다.

  1. 메모장 또는 이와 동등한 형식으로 .csv 파일을 엽니 다.
  2. 모든 ''(반복 작은 따옴표)를 "(큰 따옴표)로 바꿉니다.
  3. 전부 교체 ; (독일어 버전의 Excel에서 구분 기호로 사용)
  4. 수정 된 .csv 파일 저장

downbvote에 대한 설명이 없습니까? 물론 파, 그러나 다른 사람들은 어떻게 배울 것으로 예상됩니까? 당신은 씨 Downvoter, 무엇이 잘못되었는지는 분명 생각할 수도 있지만, 모든 사람에게 명확하지 않을 수 있습니다. 우리는 여기에 커뮤니티를 구축하려고 노력하고 있으며 도움을 드리고 있지 않습니다.
Mawg

-1

이것이 나의 레시피입니다. 나는 이것을하는 것을 싫어하지만 더 좋은 방법은 없었습니다. 제 경우에는 어떤 분야에서도 따옴표가 없습니다. 또한 UTF-8 인코딩을 사용해야했습니다. 탭 대신에 이것이 내가 한 일입니다.

참고 : 작은 따옴표로 묶은 큰 따옴표를 넣을 수 없기 때문에 키 스트로크와 리터럴 문자 및 문자열을 표시하기 위해 의도적으로 "키보드 형식"을 사용했습니다.

  1. Excel 스프레드 시트에서 다른 열보다 먼저 새 열을 삽입하십시오 (첫 번째 열의 제목을 클릭하면 전체 열이 선택됩니다. 마우스 오른쪽 단추를 클릭 한 후 "삽입"을 선택하십시오).
  2. 새 열에서 빈 셀의 전체 범위를 선택하십시오 (기본적으로 선택되어 있음). 수식 필드에 원하는 것을 삽입하십시오 (예 :) xxx. CTRL+ enter를 눌러 전체 열을 동일한 값으로 채 웁니다.
  3. 파일을 유니 코드 텍스트 (* .txt)로 저장하십시오.
  4. 메모장에서 파일을 엽니 다 ++.
  5. 를 눌러 CTRL+는 f/ 검색을 열 바꾸기.
  6. 바꾸기 탭으로 이동하십시오.
  7. "검색 모드"에서 "확장 (\ n, \ r, \ t, \ 0, \ x ...)"을 선택하십시오.
  8. "검색"필드에 xxx플러스 tab키 입력을 입력하십시오 .
  9. "바꾸기"필드에 "(큰 따옴표)를 입력하십시오 .
  10. 모두 바꾸기를 누릅니다.
  11. "검색"필드에 tab키를 입력하십시오.
  12. "바꾸기"에 ";"(큰 따옴표, 세미콜론, 큰 따옴표)를 입력하십시오 .
  13. 모두 바꾸기를 누릅니다.
  14. 거의 끝났습니다. 마지막 큰 따옴표의 \r경우 "검색"필드에 입력 "\r"하고 "바꾸기"의 큰 따옴표 (큰 따옴표, 백 슬래시, 큰 따옴표)를 입력하십시오. 모두 바꾸기를 누릅니다.
  15. 한자를 사용하지 않는 한 인코딩을 UTF-8로 변경하고 파일을 안전하게 저장할 수 있습니다.

-1

나는이 문제에 여러 번 부딪쳤다. 여기 내가 생각해 낸 가장 간단한 해결책이 있습니다.

  1. 파일을 Excel로 저장
  2. Excel을 Access 테이블로 가져 오기
  3. Access에서 텍스트 파일로 테이블을 내 보냅니다.

액세스 구분 기호를 쉼표로 내보내고 따옴표가있는 한정 텍스트 필드로 지정할 수 있습니다. 내보내기 마법사에서 원하는 문자열 주위의 구분 기호 나 문자를 지정할 수 있습니다.

필드를 특정 순서로 정렬하거나 Access에서 추가 한 자동 ID 필드를 숨기려면 Access 쿼리를 만들어야 할 수도 있습니다.

또한 ... CSV로 내 보낸 후에는 Excel에서 다시 열지 마십시오. 결과를 보려면 메모장에서여십시오. Excel은 CSV 데이터를 엉망으로 만드는 경향이 있습니다 .... 정확하게 기억하면 선행 0으로 채워진 필드라고 생각합니다.


이것은 user326114의 답변에 정보를 복제 한 것으로 보입니다.
fixer1234

-1

다음은 OpenOffice 앱을 사용하여 Excel 스프레드 시트를 만들고 모든 텍스트 필드 주위에 따옴표가있는 텍스트 (csv) 파일을 만드는 방법입니다.

OpenOffice로 Excel 파일을 연 후 다음 단계를 수행하십시오.

파일> 다른 이름으로 저장

만들려는 파일의 새 이름을 제공하십시오.

파일 형식으로 "CSV 테스트 (.csv)"를 선택하십시오.

"필터 설정 편집"체크 상자를 켜십시오.

"저장"을 클릭하십시오

"현재 형식 유지"를 선택하십시오

필드 구분자는 쉼표 여야합니다 :,

텍스트 구분 기호는 따옴표로 묶어야합니다. "

"모든 텍스트 셀 인용"체크 박스를 선택하십시오.

"확인"을 클릭하십시오

이것은 나를 위해 일했다!

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