Excel 2007에서 줄 바꿈으로 CSV 가져 오기


129

Excel에서 열 수 있도록 검색 결과를 CSV 파일로 내보내는 기능을 개발 중입니다. 필드 중 하나는 줄 바꿈, 쉼표, 따옴표 등을 포함 할 수있는 자유 텍스트 필드입니다.이를 방지하기 위해 필드를 큰 따옴표 ( ")로 묶었습니다.

그러나 데이터를 Excel 2007로 가져 와서 적절한 구분 기호를 설정하고 텍스트 한정자를 큰 따옴표로 설정하면 줄 바꿈은 줄 바꿈에서 여전히 새 레코드를 생성합니다. 단세포.

또한 CR / LF (\ r \ n)를 CR (\ r)로 바꾸고 다시 LF (\ n)로 바꾸려고했지만 운이 없습니다.

다른 사람이이 문제를 겪었습니까? 그렇다면 어떻게 해결 했습니까?

티아,
-J

편집 :
여기에 문제를 복제하기 위해 손으로 쓴 빠른 파일이 있습니다.

ID, 이름, 설명
"12345", "Smith, Joe", "Hey.
내 이름은 Joe입니다."

이것을 Excel 2007로 가져올 때 헤더 행과 두 개의 레코드가 생깁니다. "Smith, Joe"의 쉼표가 올바르게 처리되고 있습니다. 문제를 일으키는 줄 바꿈 일뿐입니다.


메모장 ++에서 CSV 파일을 살펴본 결과 모든 것이 올바른 것으로 보입니다. 쉼표가있는 다른 필드가 있으며 올바르게 가져오고 있습니다. 문제를 일으키는 줄 바꿈 일뿐입니다.
jeremyalan

4
여러 줄 데이터와 Excel이있는 UTF8 .csv 파일에 문제가 있습니다. 파일을 Google 문서로 업로드하고 Google 시트로 연 다음 .xls 파일로 다운로드했습니다. 이런 식으로 나를 위해 잘 작동합니다.
creuzerm

답변:


53

파일-> 열기 메뉴에서 파일을 열거 나 탐색기에서 파일을 두 번 클릭하여 CSV 파일을 가져올 지 여부에 따라 Excel (적어도 XP의 Office 2007에서는)이 다르게 작동 할 수 있습니다.

UTF-8 인코딩으로 된 CSV 파일이 있으며 일부 셀에 줄 바꿈이 포함되어 있습니다. Excel의 파일-> 열기 메뉴에서이 파일을 열면 "CSV 가져 오기"마법사가 나타나고 파일을 올바르게 가져올 수 없습니다. 줄 바꿈은 인용해도 새 행을 시작합니다. 탐색기 창에서이 파일을 두 번 클릭하여 열면 마법사의 개입없이 올바르게 열립니다.


1
더블 클릭과 동일한 설정을 얻는 방법을 알고 있습니까?
Michiel Thalen

7
사실이야! 얼마나 이상합니다.
David

5
독일어 지역 설정을 사용하는 경우 더블 클릭이 작동하려면 CSV에서 쉼표 (,) 대신 세미콜론 (;)을 사용해야합니다.
user1859022

3
그것은 나를 위해 작동하지 않았다. ","를 구분자로 사용하면 두 번 클릭하여 모든 열을 한 열에 열었습니다. ";" 여러 레코드로 가져온 여러 줄 텍스트 필드를 제외하고는 구분 기호로 올바르게 가져 왔습니다. 나는 엑셀 2010이
안드레이 Adamenko

2
@ user1859022 헝가리어 로캘의 경우 두 배입니다. 실제로 쉼표를 소수점 구분 기호로 사용하는 로케일은 두 번 클릭 csv를 열려면 필드 구분 기호로 세미콜론을 사용해야합니다.
robotik

42

제안 된 솔루션 중 어느 것도 나를 위해 일하지 않았습니다.

실제로 작동하는 것 (모든 인코딩에서) :

csv-file에서 데이터를 복사 / 붙여 넣기 (편집기에서 연 후) "열의 텍스트"를 수행하십시오.-> 작동하지 않습니다.

다음 탭으로 이동하여 다시 복사 / 붙여 넣기 (클립 보드에있는 것과 동일한 내용)-> 이제 자동으로 작동합니다.


2
필자의 경우이 방식으로 작동했습니다 .CSV를 단일 레코드로 올바르게 축소했지만 개행을지나 필드의 모든 데이터를 제거했습니다.
Lilienthal

1
이것은 Excel에서 CSV를 가져올 때 작동하지 않는 아이디어가 있습니까?
Rafael Sisto

1
이것이 작동하는지 확인할 수 있습니다. "text to columns"명령을 반복하지 않고도 다른 시트에 더 많은 데이터를 붙여 넣을 수도 있습니다. 여러 파일을 가져와야 할 때 유용합니다.
Alex

1
왜 이것이 작동하지만 CSV를 열거 나 텍스트 데이터로 추가하여 모든 적절한 설정이 작동하지 않습니까? 팁 고마워. 복사 / 붙여 넣기 팀은 데이터 가져 오기 팀과 대화해야합니다!
alexGIS

2
젠장 이것은 실제로 작동합니다. 왜 그런지 이해가 되네요. "텍스트를 열로"만들 때 Excel은 설정을 기억하고 자동 변환됩니다. 텍스트가 이미 행으로 분리되어 있으면 행 단위로 표시되고 줄 바꾸기를 무시합니다. MS는 동작을 유지하거나 데이터를 다시 검색하기 위해 확인란을 포함해야한다고 생각합니다. 난 상관 없어, ... 만약 괴물이 작동하면
user853710

28

이 작업을 수동으로 수행하는 경우 LibreOffice를 다운로드하고 LibreOffice Calc를 사용하여 CSV를 가져 오십시오. 내가 시도한 Excel 버전보다 훨씬 나은 작업을 수행하며 나중에 Excel로 전송 해야하는 경우 필요에 따라 XLS 또는 XLSX에 저장할 수 있습니다.

그러나 Excel에 갇혀 있고 더 나은 수정이 필요한 경우 방법이있는 것 같습니다. 그것은 로케일에 의존적 인 것 같습니다 (내 겸손한 견해로는 바보처럼 보입니다). Excel 2007은 없지만 Excel 2010과 예제가 있습니다.

ID,Name,Description
"12345","Smith, Joe","Hey.
My name is Joe."

작동하지 않습니다. 메모장에 작성하고 다른 이름으로 저장 ...을 선택했으며 저장 버튼 옆에 인코딩을 선택할 수 있습니다. 제안 된대로 UTF-8을 선택했지만 운이 없습니다. 쉼표를 세미콜론으로 변경하면 나에게 도움이되었습니다. 나는 다른 것을 바꾸지 않았으며 효과가있었습니다. 따라서 예제를 다음과 같이 변경하고 메모장에 저장할 때 UTF-8 인코딩을 선택했습니다.

ID;Name;Description
"12345";"Smith, Joe";"Hey.
My name is Joe."

그러나 캐치가 있습니다! 작동하는 유일한 방법은 CSV 파일을 두 번 클릭하여 Excel에서 여는 경우입니다. 텍스트에서 데이터를 가져 오고이 CSV를 선택한 경우 인용 된 줄 바꿈에서 여전히 실패합니다.

그러나 또 다른 것이 있습니다 캐치가 있습니다! 작업 필드 구분 기호 (원본 예제에서는 쉼표, 필자의 경우 세미콜론)는 시스템의 국가 별 설정 (제어판-> 지역 및 언어에서 설정)에 따라 달라집니다. 노르웨이에서 쉼표는 소수점 구분 기호입니다. Excel 은이 문자를 피하고 세미콜론을 선호합니다. 영국 영어 로케일로 설정된 다른 컴퓨터에 액세스 할 수 있으며 해당 컴퓨터에서 쉼표 구분 기호가있는 첫 번째 예제는 제대로 작동하고 (더블 클릭에서만) 세미콜론이있는 컴퓨터는 실제로 실패합니다! 상호 운용성 이 CSV를 온라인으로 게시하려고하고 사용자에게 Excel이있는 경우 두 버전을 모두 게시해야하고 사람들이 어떤 파일이 올바른 행 수를 제공하는지 확인하는 것이 좋습니다.

따라서이 작업을 수행하기 위해 수집 할 수 있었던 모든 세부 사항은 다음과 같습니다.

  1. BOM과 함께 파일을 UTF-8로 저장해야합니다. 이는 UTF-8을 선택할 때 메모장이 수행하는 것입니다. BOM없이 UTF-8을 시도했지만 (Notepad ++에서 쉽게 전환 할 수 있음) 문서를 두 번 클릭하면 실패합니다.
  2. 국가 별 설정에서 소수점 구분 기호가 아닌 쉼표 또는 세미콜론 구분 기호를 사용해야합니다. 다른 캐릭터도 효과가 있을지 모르겠지만
  3. "문자가 포함 된 줄 바꿈이 포함 된 필드를 인용해야합니다.
  4. 텍스트 필드와 레코드 구분 기호로 Windows 줄 끝 (\ r \ n)을 사용했습니다.
  5. 파일을 두 번 클릭하여 열어야 텍스트에서 데이터를 가져올 수 없습니다.

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


또한 @sdplus가 언급 한 트릭이 효과가있는 것 같습니다! 첫 번째 붙여 넣기를 수행하고 "텍스트에서 열로"조작을 수행 할 때 인용 부호와 필드 구분 기호를 Excel에서 구성하는 것입니다. 두 번째로 붙여 넣으면이 구성이 사용되며 구성에 따라 데이터가 열로 올바르게 분할됩니다. 그러나 이것은 매우 수동적 인 접근 방식 인 것 같습니다.
ketil

예, 텍스트를 가져 오거나 텍스트를 열로 할 때마다 지정된 세션에서 복사 / 붙여 넣기가 작동하는 방식을 다시 보정합니다. Excel을 닫을 때까지 만든 새 통합 문서에도 적용됩니다. 좌절 할 수도 있습니다. 가져 오기 위해 주어진 구분 기호를 사용하면 셀에 문장을 붙여 넣으려는 경우에도 텍스트를 구분합니다. 탭을 구분 기호로 사용하여 가져 오기를 다시 실행하거나 Excel을 다시 시작하여 중지해야합니다.
robotik

당신의 트릭은 실제로 작동하는 것 같습니다. 그러나 세미콜론은 솔루션과 관련이없는 것처럼 보입니다. 문제는 Excel이 지역 설정에 따라 CSV 파일을 다르게 취급한다는 것입니다. 나는 독일 출신이며 Excel의 CSV 파일에는 항상 쉼표 대신 세미콜론이 있습니다 (이 이유는 독일에서 소수점 구분 기호가 점 대신 쉼표이기 때문입니다). 실제 솔루션은 Excel이 다른 모든 텍스트 파일과 완전히 다른 CSV 파일을로드하는 것 같습니다. 따라서 따옴표 사이에 줄 바꿈이 포함 된 CSV 파일이 작동하는 것 같습니다. 다른 모든 텍스트 파일은 그렇지 않습니다.
Martini Bianco

@Martini, 예, 노르웨이어 Excel을 사용하고 쉼표를 소수점 구분 기호로 사용하므로 지역 설정에 따라 어떻게되는지 언급했습니다 (로케일이라고 함). 아마도 나는 명확성을 위해 문구를 바꿔야 할 것이다.
ketil

이것은 쉼표가 소수점 구분 기호 인 지역의 모든 사람들에게 입니다. 이러한 영역에서 Excel은 세미콜론을 수식 인수 구분 기호 () =FOO(1;2)대신 사용 =FOO(1,2)하지만 파일 형식 파서 (다른 프로그램이 로케일에 따라 다른 표준 파일 형식을 구문 분석)에 적용하는 것은 잘못된 것입니다. )
leemes

25

나는 마침내 문제를 발견했다!

ASCII 또는 UTF-8 대신 유니 코드 인코딩을 사용하여 파일을 작성하는 것으로 나타났습니다. FileStream에서 인코딩을 변경하면 문제가 해결되는 것 같습니다.

모든 제안에 감사드립니다!


29
ASCII 인코딩은 MacOS의 경우 문제를 해결하지 못하는 것으로 보이며 선행 공간이 없으며 필드가 인용되어 있습니다. Google 문서에서 정확히 동일한 문서를 가져옵니다. 얼마나 실망 스러운가. BTW, "유니 코드"인코딩 텍스트 파일은 없습니다. 유니 코드 구현 (UTF-8, UTF-16, UTF-32 등) 중 하나 여야합니다.
Ben

11
솔루션 주셔서 감사합니다. 나는 아직도 대답이 무엇인지 궁금해서 Excel에서 줄 바꿈으로 csv를 만들고 저장된 내용을 보았습니다. Excel에서 셀의 새 줄에 줄 바꿈 만 사용하는 것으로 나타났습니다. 메모장에서 동일한 CSV를 만들려고하면 줄 바꿈에 줄 바꿈 + 캐리지 리턴이 사용됩니다. 따라서 단일 셀에서 줄 바꿈을하려면 줄 바꿈 (LF 또는 \ n) 만 사용하고 캐리지 리턴 (CR 또는 \ r)은 사용하지 않아야합니다. Excel은 둘 다 행을 종료하는 데 사용합니다.
xr280xr 2016 년

1
ASCII 인코딩으로도 문제가 해결되지 않았습니다
-Excel

1
Macintosh의 OS X의 경우 "Windows 쉼표로 구분됨 (csv)"으로 저장하십시오. 줄 바꿈 대신 줄 바꿈이 추가됩니다. "Specialty Formats"아래에있는 형식의 드롭 다운 메뉴에 표시됩니다.
taco

어떤 유니 코드 인코딩을 사용해야합니까 (UTF-8, UTF-16)?
Andrej Adamenko

7

짧은 답변

줄 바꿈 / 줄 바꿈 문자를 제거하십시오 ( \nNotepad ++ 사용). Excel은 여전히 ​​캐리지 리턴 문자 ( \r)를 인식하여 레코드를 분리합니다.

긴 답변

언급 한대로 줄 바꿈 문자는 CSV 필드 내에서 지원되지만 Excel이 항상 정상적으로 처리하지는 않습니다. 인코딩 문제가 있었지만 인코딩 변경으로 개선되지 않은 타사 CSV와 비슷한 문제에 직면했습니다.

나를 위해 일한 것은 모든 줄 바꿈 문자 ( \n)를 제거하는 것이 었습니다 . 이는 캐리지 리턴과 줄 바꾸기 (CR / LF)의 조합으로 레코드가 분리되어 있다고 가정 할 때 필드를 단일 레코드로 접는 효과가 있습니다. 그러면 Excel에서 파일을 올바르게 가져오고 캐리지 리턴으로 새 레코드를 인식합니다.

분명한 해결책은 먼저 실제 줄 바꿈 ( \r\n)을 임시 문자 조합으로 바꾸고, 줄 바꿈 ( \n)을 선택하는 분리 문자 (예 : 세미콜론 파일의 쉼표)로 바꾼 다음 임시 문자를 적절한 줄 바꿈으로 다시 바꾸는 것입니다.


1
나는 \n선과 \r\n내부의 가치 사이에 반대 상황이있었습니다 . 메모장 ++에서 후자를 제거했습니다.
Rarst

5

J Ashley의 댓글에 +1 나는 또한이 문제에 부딪쳤다. Excel에는 다음이 필요합니다.

  • 인용 된 문자열의 줄 바꿈 문자 ( "\ n")

  • 각 행 사이의 캐리지 리턴과 개행.

예 : "테스트", "여러 줄 항목 \ n 여러 줄 항목"\ r \ n "Test2", "여러 줄 항목 \ n 여러 줄 항목"\ r \ n

메모장 ++를 사용하여 각 행을 올바르게 구분하고 문자열에 줄 바꿈 만 사용했습니다. 빈 Excel 문서에서 여러 줄 항목을 만들고 메모장 ++에서 CSV를 열어서 이것을 발견했습니다.


난 내 로케일에 따라 필드 분리를 설정 일단은 여러 항목 및 행 구분 양쪽으로 만 개행 문자와 나를 위해 일한
robotik

4

필드에 선행 공백이 있으면 Excel은 큰 따옴표를 텍스트 한정자로 무시합니다. 해결책은 쉼표 (필드 구분 기호)와 큰 따옴표 사이의 선행 공백을 제거하는 것입니다. 예를 들면 다음과 같습니다.

부서진 :
이름, 제목, 설명
"John", "Mr.", "내 상세 설명"

작업 :
이름, 제목, 설명
"John", "Mr.", "내 상세 설명"


2
그러나 출력에 선행 공백이 없다는 데 동의합니다. 어떤 아이디어?
jeremyalan

우리는 끊어진 줄이 필요합니다 :(
Luke

4

Google 스프레드 시트를 사용하고 CSV 파일을 가져옵니다.

그런 다음 Excel에서 사용하도록 내보낼 수 있습니다


1
좋은 팁! CSV를 타사 서비스 (예 : 기밀 정보가 아닌 데이터)에 업로드 할 수 있으면 가장 편리한 변환 방법입니다. 가져올 때 구분 기호를 수동으로 설정해야 할 수도 있습니다. 결과 Excel 파일에서 셀 크기를 조정하여 올바르게 표시해야 할 수도 있습니다.
m000

브라우저에서 Office 365의 Excel 과도 작동합니다. 데스크톱 Excel 응용 프로그램 (이 페이지의 대부분의 제안을 시도)을 사용하여 셀 내부에서 줄 바꿈으로 CSV를 제대로 열 수는 없지만 office.com의 Excel에서 올바르게 열 수 있습니다.
게오르그 w.

3

이 스레드를 우연히 발견하고 결정적인 답변을 찾고있는 사람이 있다면 (LibbreOffice를 언급 한 사람에게 신용 :

1) LibreOffice 설치 2) 캘크 열기 및 가져 오기 파일 3) 내 txt 파일은으로 구분 된 필드와 "4) ODS 파일로 저장 문자 필드로 묶인 문자 필드가 있습니다. 5) Excel에서 ODS 파일 열기 6) .xls (x)로 저장 7) 완료 .8) 이것은 나를 위해 완벽하게 작동하고 나를 크게 절약했습니다!


3
ODS로 저장할 필요가없는 LibreOffice는 xls (x)를 기본적으로 저장할 수 있습니다
robotik

2

메모장 ++에 붙여 넣고 인코딩> ANSI로 인코딩을 선택한 다음 다시 복사하여 Excel에 붙여 넣습니다. :)


2

나는 비슷한 문제가 있었다. MySQL에 트위터 데이터가 있습니다. 데이터에 라인 피드 (LF 또는 \ n)가 있습니다. MySQL 데이터를 Excel로 내 보내야합니다. LF가 csv 파일 가져 오기를 망쳤습니다. 그래서 나는 다음을 수행했다-

1. From MySQL exported to CSV with Record separator as CRLF
2. Opened the data in notepad++ 
3. Replaced CRLF (\r\n) with some string I am not expecting in the Data. I used ###~###! as replacement of CRLF
4. Replaced LF (\n) with Space
5. Replaced ###~###! with \r\n, so my record separator are back.
6. Saved and then imported into Excel

참고-CRLF 또는 LF를 교체하는 동안 Excended를 확인하는 것을 잊지 마십시오 (\ n, \ r, \ t ... 확인란 [대화 상자의 왼쪽 하단을보십시오)


2

프랑스어 지역 설정으로 WinXP에서 Excel 2010을 사용한 경험

  • 가져온 CSV의 구분 기호는 지역 설정의 목록 구분 기호와 일치해야합니다 (내 경우)
  • 탐색기에서 파일을 두 번 클릭해야합니다. Excel에서 열지 마십시오

1

CSV를 처리 할 때 Excel이 엄청나게 손상되었습니다. LibreOffice는 훨씬 더 나은 일을합니다. 그래서 나는 그것을 발견했다.

  • 파일은 BOM과 함께 UTF-8로 인코딩되어야하므로 아래의 모든 사항에 대해 고려하십시오.
  • 지금까지 가장 좋은 결과는 파일 탐색기에서 열면 달성됩니다.
  • Excel에서 열면 두 가지 가능한 결과가 있습니다.
    • ASCII 문자 만 있으면 대부분 작동합니다.
    • ASCII가 아닌 문자가 있으면 줄 바꿈이 엉망이됩니다.
  • OS의 국가 별 설정에서 구성된 소수점 구분 기호에 크게 의존하는 것처럼 보이므로 올바른 것을 선택해야합니다.
  • OS 및 Office 버전에 따라 다르게 작동 할 수도 있습니다.

LibreOffice가 Excel보다 더 나은 추측이라고 주장하고 있습니까? Excel에서는 텍스트 파일을 가져올 때 추측하지 않는 한 모든 올바른 질문을합니다.
Tom Blodget

1
감사합니다! 메모장 ++에서 CSV를 "BOM이없는 UTF-8"에서 "BOM이있는 UTFF-8"(메뉴의 단순한 "UTF-8")로 CSV를 변환하는 데 도움이됩니다. 그런 다음 방금 탐색기에서 열었고 Excel은 올바른 기호와 셀 내부의 줄 바꿈으로 올바른 방식으로 표시했습니다. 탐색기에서 가져온 기본 "UTF-8 BOM없이"인코딩으로 열면 Excel에서 가져온 줄 바꿈이 올바르게 표시되지만 비 라틴 기호가 잘못된 방식으로 표시됩니다. Excel에서 열면 올바른 방식으로 인코딩이 표시되었지만 줄 바꿈에는 대처하지 못했습니다.
Sergey Beloglazov

1

개요

원래 게시물 이후 거의 10 년이 지나도 Excel은 CSV 파일 가져 오기 기능이 향상되지 않았습니다. 그러나 HTML 테이블을 가져 오는 것이 훨씬 낫다는 것을 알았습니다. 따라서 Python을 사용하여 CSV를 HTML로 변환 한 다음 결과 HTML을 Excel로 가져올 수 있습니다.

이 접근 방식의 장점은 다음과 같습니다. (a) 안정적으로 작동합니다. (b) 데이터를 타사 서비스 (예 : Google 시트)로 보낼 필요가 없습니다. (c) 추가 "지방"설치가 필요하지 않습니다 (LibreOffice, 대부분의 사용자에 대한 숫자 등) (d) CR / LF 문자 및 BOM 마커를 사용하는 것보다 높음 (e) 로케일 설정을 사용하지 않아도됩니다.

단계

다음 단계는 Python 3이 설치되어있는 한 모든 bash 유사 쉘에서 실행할 수 있습니다. Python을 사용하여 CSV를 직접 읽을 수는 있지만 csvkit 은 JSON으로 중간 변환을 수행하는 데 사용됩니다. 이를 통해 Python 코드에서 CSV 복잡성을 처리하지 않아도됩니다.

먼저 다음 스크립트를로 저장하십시오 json2html.py. 이 스크립트는 stdin에서 JSON 파일을 읽고 HTML 테이블로 덤프합니다.

#!/usr/bin/env python3
import sys, json, html

if __name__ == '__main__':
    header_emitted = False
    make_th = lambda s: "<th>%s</th>" % (html.escape(s if s else ""))
    make_td = lambda s: "<td>%s</td>" % (html.escape(s if s else ""))
    make_tr = lambda l, make_cell: "<tr>%s</tr>" % ( "".join([make_cell(v) for v in l]) )
    print("<html><body>\n<table>")
    for line in json.load(sys.stdin):
        lk, lv = zip(*line.items())
        if not header_emitted:
            print(make_tr(lk, make_th))
            header_emitted = True
        print(make_tr(lv, make_td))
    print("</table\n</body></html>")

그런 다음 가상 환경에 csvkit을 설치 csvjson하고 입력 파일을 스크립트에 공급하는 데 사용하십시오. -I인수 를 사용하여 셀 유형 추측을 비활성화하는 것이 좋습니다 .

$ virtualenv -p python3 pyenv
$ . ./pyenv/bin/activate
$ pip install csvkit
$ csvjson -I input.csv | python3 json2html.py > output.html

지금 output.html Excel에서 가져올 수 있습니다. 셀의 줄 바꿈이 유지됩니다.

선택적으로 Python 가상 환경을 정리할 수 있습니다.

$ deactivate
$ rm -rf pyenv

1

이것은 Excel 2016 용입니다.

Excel 마법사를 사용하여 CSV 파일 내에서 줄 바꿈과 동일한 문제가 발생했습니다.

그런 다음 "새 쿼리"기능으로 시도했습니다. 데이터-> 새 쿼리-> 파일에서-> CSV에서-> 파일 선택-> 가져 오기->로드

동일한 문제가있는 모든 사람들에게 완벽하게 작동하고 매우 빠른 해결 방법이었습니다.


0

가져 오기가 csv 형식이 아닌 텍스트 형식으로 수행 되었다면 Excel로 가져 오는 것이 방금 나에게 효과적이었습니다. 미디엄/


0

줄 바꿈이있는 셀이있는 새 시트를 만들고 csv에 저장 한 다음 줄 끝을 표시 할 수있는 편집기로 메모장을 엽니 다 (예 : notepad ++). 이렇게하면 셀의 줄 바꿈이 LF로 코딩되고 "실제"줄 끝은 CR LF로 코딩됩니다. Voilà, 이제 "올바른"CSV 파일을 생성하는 방법을 알고 있습니다.


0

따옴표로 묶인 문자열에 LF가있는 csv 파일 (쉼표로 구분 된 큰 따옴표로 구분 된 문자열)도 있습니다. 이들은 정사각형 파일로 다운로드되었습니다. 데이터를 가져 왔지만 텍스트 파일로 가져 오는 대신 "HTML에서"로 가져 왔습니다. 이번에는 인용 된 문자열에서 LF를 무시했습니다.


0

이것은 csv를 사용하고 Excel에서 파일을 여는 Mac에서 작동했습니다.

파이썬을 사용하여 csv 파일 작성

data = ' "셀 a1 \ r의 첫 번째 라인 셀 a1의 두 번째 라인 \ r 셀 a1의 세 번째 라인", "셀 b1", "셀 c1의 첫 번째 라인 \ r 셀 c1의 두 번째 라인"\ n " 셀 a2 "\ n '

file.write (데이터)


0

MacOS에서는 숫자를 사용해보십시오.

Mac OS에 액세스 할 수 있다면 Apple 스프레드 시트 Numbers 가 Excel에서 처리 할 수없는 복잡한 여러 줄 CSV 파일을 선택 해제하는 것이 좋습니다. 그냥을 열고 .csv숫자와 다음 Excel로 내보낼 수 있습니다.


0

필자의 경우 메모장 ++에서 SEP=","CSV를 열고 첫 번째 줄로 추가 하면 문제없이 Excel에서 줄 바꿈과 utf-8로 CSV를 열 수 있습니다


0

구분 기호를 쉼표 (,) 대신 TAB (\ t)로 바꾸십시오. 그런 다음 편집기 (메모장 등)에서 파일을 열고 여기에서 내용을 복사 한 다음 Excel 파일에 붙여 넣습니다.


큰 파일에 이것을보십시오 :)
chukko

-1

큰 따옴표 안의 줄 바꿈은 CSV 표준에 따라 완벽하게 좋습니다. Excel에서 줄 바꿈 구문 분석은 목록 구분 기호의 OS 설정에 따라 다릅니다.

  1. Windows : 목록 구분 기호를 쉼표 (지역 및 언어»형식»고급)로 설정해야합니다. 출처 : /superuser/238944/how-to-force-excel-to-open-csv-files- with-coarns-in-columns # answer-633302

  2. Mac : 지역을 미국으로 변경해야합니다 (다른 설정을 원하는대로 수동으로 다시 변경) 출처 : https://answers.microsoft.com/en-us/mac/forum/macoffice2016-macexcel/line-separator-comma -semicolon-in-excel-2016-for / 7db1b1a0-0300-44ba-ab9b-35d1c40159c6 (NewmanLee의 답변 참조)

다시 시도하기 전에 Excel을 완전히 닫는 것을 잊지 마십시오.

문제를 성공적으로 복제했으며 Max와 Windows에서 위의 내용을 사용하여 문제를 해결할 수있었습니다.


나는 이것이 효과가 있다고 생각하지 않습니다. Excel 자체의 셀에 줄 바꿈이있는 CSV를 내보냈습니다. 로캘이 변경되지 않았으므로 Excel에서 제대로로드 할 수 있었을 것입니다. 그러나 그것은 할 수 없습니다. 여전히 셀의 줄 바꿈이 엉망입니다.
m000
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.