Excel 2007에서 줄 바꿈이 있는 CSV 가져오기

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

그러나 Excel 2007로 데이터를 가져와서 적절한 구분 기호를 설정하고 텍스트 한정자를 큰따옴표로 설정하면 줄 바꿈이 여전히 줄 바꿈에 새 레코드를 생성하여 전체 텍스트 필드가 단일 셀에 표시될 것으로 예상됩니다.

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

다른 사용자도 이 동작을 경험한 적이 있나요? 그렇다면 어떻게 해결하셨나요?

TIA,
-J

편집:
다음은 문제를 복제하기 위해 제가 직접 작성한 간단한 파일입니다.

ID,이름,설명

12345>,> Smith, Joe>,> Hey.< brt; 내 이름은 조입니다;

이것을 Excel 2007로 가져오면 머리글 행과 두 개의 레코드가 생깁니다. 'Smith, Joe'의 쉼표가 제대로 처리되고 있다는 점에 유의하세요. 문제를 일으키는 것은 줄 바꿈입니다.

질문에 대한 의견 (2)

엑셀 (최소한 Office 2007년 CSV 파일 가져와집니다 여부에 따라 다르게 동작할 수 있는 XP) 에서 열린 메뉴 또는 두 번 누르면 파일을 열어서 File-&gt, 탐험가이다.

I have a CSV 파일, 즉 UTF-8 인코딩 및 map_layer 줄 바꿈 일부 셀입니다. 만약 내가 이 파일 열기, s # 39 에서 Excel& File-&gt, 오픈 메뉴, &quot 가져오기의 CSV"; 마법사에서는 및 파일을 올바르게 임포트한 튀어나올 수 없습니다. 이 경우에도 줄 바꿈 새로 시작 행일 보도했다. 만약 내가 두 번 탐색기 창을 통해 이 파일을 열 수 있는 그런 것이 없이 제대로 열었든 개입이 마법사입니다.

해설 (9)

제안된 솔루션 중 어느 것도 저에게 효과가 없었습니다.

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

csv 파일에서 데이터를 복사/붙여넣기(편집기에서 열기)한 다음 을 수행하면 --이 작동하지 않습니다.

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

해설 (10)

이렇게 할 경우 수동으로 다운로드하십시오 리브레오피스 및 사용 리브레오피스 Calc 임포트하려면 CSV. 그 어느 때보다 훨씬 더 나은 않니다 이런 작업을 했는데, 정보기술 (it), ve 버전니다 excel i& # 39 를 절감할 수 있게 하는 경우 또는 xlsx xls 필요에 따라 전송하십시오 excel 로 된다.

39, 엑셀, 더 나은 픽스의 신앙이니라 you& 함께 할 수 있도록 하는 것으로 하고 있을 것입니다. 로케일에 종속적입니다 (병신같은 것을 우려한 때문으로 보인다, 내 소박한 여론) 할 것으로 보인다. # 39, 근데 저한텐 별로 없는 내가 don& Excel 엑셀 2007년, 2010년 들어 주어진:

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

39, doesn& 빗나갔다. 그 옆에 내가 메모장에 저장 버튼을 작성했습니까 고용하곤 다른 이름으로 저장 및 인코딩입니다. 선택할 수 있습니다. 내가 선택한 UTF-8 로 제안됩니다 전송되지만 운빨이야. 세미콜론, 어쨌든요 가져다줄래요 협력했습니다 쉼표 를 변경 난 그냥 뭐 할일없나 didn& # 39, t change, 정보기술 (it) 하였다. 그래서 예를 볼 때 이 같은 변경일 고용하곤 UTF-8 인코딩을 메모장에 저장.

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

그러나 there& # 39 의 catch! Csv 파일 파일을 열 수 있는 유일한 방법은 두 번 클릭하면 작동하잖아 는 한다. 만약 내가 불러오시겠습니까 텍스트 데이터가 고용하곤 이 CSV 의 말을 인용, 그래도 그런 줄 바꿈.

하지만 다른 , # 39 의 there& catch! 작업 현장 seperator (쉼표 중 원본 acrobatconnectcentral. 세미콜론 내 경우) 의 지역 설정에 따라 결정될 것으로 보인다 (설정 아래, 제어판 - &gt system& # 39 국가 및 언어). 쉼표 (,) 는 노르웨이의, 소수 seperator. 이를 방지하기 위해 문자 및 포지셔닝하십시오 excel 세미콜론 아닌 것 같다. 영국 영어 로케일에 및 해당 컴퓨터에서 다른 컴퓨터로 내가 액세스하도록 설정되었습니다, 첫 번째 예 쉼표로 seperator 작동합니다 (오로지 더블클릭) 와 함께 하나 세미콜론 실제로 실패! 많은 상호 운용성. 이 경우 CSV 온라인 및 사용자 게시할지 Excel, 뭐 형상게시 두 버전 모두 할 수 있는 사람들이 적절한 수의 행뿐만 파일 및 제안하세요 확인할 수 있습니다.

따라서 모든 세부 사항을 I& # 39, ve been afaq afnor 취합하려면 사용할 수 있다.

  1. 이 파일은 반드시 UTF-8 BOM 으로, 이는 어떤 때 utf-8 로 구했잖아 메모장 높여줍니까 선택했다. 전화했는데 UTF-8 BOM 없이 (내 노트패드++ 쉽게 전환할 수 있습니다) 을 두 번, 그런데 문서 작동하지 않습니다.
  2. 쉼표 (,) 또는 세미콜론 분리자를 서피스뿐 아니라 사용해야 합니다, 하나는 소수 seperator 해당 지역 꾸미기야. 아마도 내가 하는 일을 하지만, 다른 문자 # 39 don& 수 있을지 알 수 없다.
  3. 줄 바꿈 함께 들어 있는 &quot 필드용 쿼트에 합니다. 문자.
  4. 39, ve (\r\n) 둘 다 indows 선 끝 i& 사용되는 텍스트 필드에 기록으로 seperator 않했느뇨 작동합니다.

  5. 텍스트 파일을 열면, 데이터 가져오기 doesn& 더블클릭하십시오 합니다 # 39, 빗나갔다.

따라서 누군가가 바란다.

해설 (10)
해결책

드디어 문제를 찾았습니다!

ASCII나 UTF-8이 아닌 유니코드 인코딩을 사용하여 파일을 작성하고 있었던 것으로 밝혀졌습니다. FileStream에서 인코딩을 변경하면 문제가 해결되는 것 같습니다.

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

해설 (6)

단답형

줄 바꿈 제거하시겠습니까 / linefeed 문자 ('\n' 을 (를) 노트패드++). Excel 케리지리턴 문자 ('\r') 를 계속 알 수 있는 별도의 레코드는유지합니다.

답변이 길어져서

개행 문자를 언급한 바와 같이, 항상 확실하게 처리해야 하지만 Excel doesn& # 39 가 지원됩니까 δ1 CSV 필드용 없다. 비슷한 문제를 안고 있는 문제가 아니라 내가 할 수 있는 t # 39, 타사 CSV 인도하심이라만일 인코딩입니다 didn& 향상시키십시오 인코딩입니다 변경.

어떤 방법이 주효했는가 가져다줄래요 개행 문자 ('\n') 는 모두 제거. 이 경우 해당 레코드는 기록하십시오 필드용 축소 효과가 있습니다 하나의 구분된 결합을 케리지리턴 및 개행 문자 (CR / LF). 엑셀 파일을 가져오고 그러면 의해 새로운 기록이 제대로 알고 케리지리턴.

물론 실제 재장착합니다 클리너 해결책은 먼저 줄 바꿈 ('\r\n') 를 임시 문자 조합을 구분을 문자 대신 줄 바꿈 ('\n') 를 선택 (예: 쉼표 받을시간은 세미콜론 파일) 한 후 다시 교체하십니까 임시 캐릭터와 이벤트수정적절한 줄 바꿈.

해설 (1)

필드에 선행 공백이 포함된 경우 Excel은 텍스트 한정자로 큰따옴표를 무시합니다. 해결책은 쉼표(필드 구분 기호)와 큰따옴표 사이의 선행 공백을 없애는 것입니다. 예를 들어

깨진:
이름,제목,설명

"John",
"Mr.",
"내 상세 설명"
";

작업 중:
이름, 직책, 설명
"John", "Mr.", "나의 상세 설명"

해설 (2)

j # 39 의 Ashley& +1 대한 언급은 하지 않았다. 내가 이 문제를 분할합니다 실행했음 있다. Excel 필요한 것으로 나타났다.

  • A 개행 문자 (&quot \n";) 이 말을 구체화하십시오

  • A 케리지리턴 및 상호 간에 행일 줄 바꿈.

  • E.g.* &quot Test&quot Multiline item\n ";; \r\n multiline item&quot. &quot Test2&quot Multiline item\n ";; \r\n multiline item&quot.

각 행의 구분하는 데 사용할 수 있는 메모장 ++ 내가 제대로 사용할 줄 바꿈 구체화하십시오. 이 항목은 열어 빈 excel 문서를 작성하여 발견된 multiline csv 메모장에서 ++.

해설 (1)

구글 시트말이죠 CSV 파일 및 가져오기할 사용합니다.

그럼 익스포트합니다 Excel 에서 사용할 수 있습니다.

해설 (2)

만약 누군가 이 명확한 답을 찾고 있으며, 여기에 걸림돌이 되고 구현하므로 스레드할 댁이라면 (들어 있는 사람에게 크레딧보다 리브레오피스:

  1. 설치 리브레오피스
  2. 계산 및 가져오기할 파일 열기
  3. 에 의해, 문자 필드용 내 txt 파일 경식도 필드용 분판된 인클로우저된 &quot.
  4. 다른 이름으로 저장 od 파일
  5. 에서 열린 od 엑셀 파일
  6. 다른 이름으로 저장 .xls (x)
  7. 다.
  8. 이 완벽하게 협력했습니다 구했잖아 me for me, 일류!
해설 (1)

노트패드++ 붙여넣습니다 인코딩입니다 &gt 선택합니다. 다시, 모든 ANSI 에서 인코딩합니다 복제본에 붙여넣습니다 Excel:)

해설 (0)

내 경험에 대한 설정을 통해 Excel 2010년 프랑스 레지옹 WinXP

  • 이 목록에 해당 지역의 설정을 통해 분리자를 분리자를 임포트된 csv 일치해야 합니다 (; 내 경우)
  • explorer 에서 파일을 두 번 클릭하면 합니다. # 39 는 don& Excel 에서 엽니다.
해설 (0)

비슷한 문제가 있었습니다. 난 이미 일부 트위터 data-in 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

참고 있을 뿐 아니라 크레프 교체하십니까 확인란 렉상드드 잊지 않습니다. (\n \r \t., 또는 LF 확인란 [보면 대화상자의 왼쪽 아래)

해설 (0)

개요

거의 10 년 만에 hasn& # 39 의 원본 게시물, Excel, t 향산된 임포트하지 CSV 파일. 하지만 나는 것이 훨씬 더 나은 것으로 임포트하지 HTML 표. 따라서 한 후 결과 HTML 을 사용할 수 있는 HTML 로 파이썬 변환할지 CSV 임포트하십시오 한다.

이 방법의 장점은 다음과 같습니다. (a), (b), t need 너회가 don& 작동하잖아 안정적으로 보내려면 # 39 제 3 자에게 서비스 데이터 (예를 들어 구글 시트), (c), 추가 &quot fat&quot 없습니다. 설치 필요 (리브레오피스, 숫자 등) 와 CR, LF (d) 보다 높은 수준의 대부분의 사용자를 위한 무리한 / 문자 및 BOM 표시자는, (e) 와 바이올린 않아도 로케일에 꾸미기야.

단계를

다음 단계를 실행할 수 있는 같은 배시 쉘로 deltamove 파이썬 3 가 설치되어 있습니다. Csv 직접 읽을 수 있지만, 파이썬 사용할 수 있습니다. 치프카이트 를 사용할 수 있도록 변환 못하며창조된 중간 JSON. 이 복잡한 CSV 의 파이썬 코드를 처리할 수 있게 않아도 됩니다.

첫째, 'json2html.py' 다음 스크립트입니다 절약합니다 있다. Json 은 html 에서 파일을 판독합니다 스크립트입니다 stdin 및 정보기술 (it) 을 table: 덤프합니다. "'파이썬

! / usr / bin / env python3

import sys, json, html

39, & # 39 main& name 경우 =.

header_emitted = False make_th 람다 (λ) = s: ,, &quot &lt th&gt %s&lt /th&gt &quot. % (사마레비스카피 (s) 의 경우 다른 &quot ";)) make_td 람다 (λ) = s: ,, &quot &lt td&gt %s&lt /td&gt &quot. % (사마레비스카피 (s) 의 경우 다른 &quot ";)) make_tr 람다 (λ) = l, make_cell: ,, &quot &lt tr&gt %s&lt /tr&gt &quot. % (&quot, &quot, 스타인 ([make_cell (v) v 의 l]) 보기인쇄 (";;;;;; table&gt &lt html&gt &lt body&gt \n&lt ") 제손드로이드 에서 선 (시s.스트딘): lk, lv = zip (* 선자이트마스 ()) 그렇지 않으면 header_emitted: 보기인쇄 (make_tr (lk, make_th)) header_emitted = True 보기인쇄 (make_tr (lv, make_td)) 보기인쇄 (,,, &quot &lt /table\n&lt /body&gt &lt /html&gt ") "'

그런 다음 치프카이트 설치 및 사용 '우리' 입력 파일을 가상 환경에서 치바제슨 채우기할 스크립트입니다. '추측' -I '인수를 통해 세포 유형을 비활성화하려면 것이 좋습니다. "'쉘로 $ 비르투아르노프 python3 피에노프 - p $. ./pyenv/bin/activate pip 설치처 치프카이트 $ i $ 치바제슨 이노푸트리치프 python3 &gt, json2html.py 우스푸t.사믈 "'

'지금' 우스푸t.사믈 Excel 에서 가져올 수 있습니다. 줄 바꿈 셀의 보존돼 있을 것이다.

선택적으로 너회의 파이썬 가상 환경 지우는중 할 수 있습니다. "'쉘로 $ 비활성화해야 rm - rf 피에노프 $ "'

해설 (0)

뭐 그냥 그렇게 협력했습니다 가져다줄래요, 임포팅 Excel 로 직접 가져오기의 완료되어도 텍스트 형식 (단, csv 형식으로 않고 있다. M/

해설 (0)

그냥 (cp) 과 csv 로 저장한 후 이를 통해 새로운 것을 만들 수 있는 오픈 셀을 선브레이크 편집기에는 보여줄 수 있는 줄의 끝 문자 (그것을비유하사 노트패드++). 함께 있는 것을 볼 수 있는 선브레이크 수행여 있는 동안, real&quot &quot cell) 는 lf 들어갔다. cr LF 는 코드와 줄의 끝. # Now you know, 224 voil& &quot 생성하는 방법, correct"; csv 파일의 한다.

해설 (0)

난 또 이 문제가 있었다. 즉, csv 파일 (쉼표로 구분된, 큰따옴표 구분된 문장열) 과 LF 에 인용된 써줬지 이러한 다운로드되었습니다 광장 파일. I did 데이터 가져오기 대신 임포트된 tpc. &quot 충스러웠으니 HTML&quot 텍스트 파일로 임포트하지,. 이번에는 LF& # 39 의 써줬지 말을 무시했다.

해설 (0)

이 작업한 파일을 사용하여 Mac, csv 열어 한다.

Csv 파일 사용하여 쓸 수 있다.

데이터 = & # 39, 셀 (cell line) 의 첫 번째 줄은 두 번째 줄에 a1\r ";;;;, &quot b1&quot 셀입니다 &quot a1&quot 셀입니다 a1\r 3rd line) 의 2 제 1 의 첫 번째 줄에 줄을 c1\r 셀입니다 c1&quot 셀입니다 \n&quot a2&quot 셀입니다 \n& # 39;;;;

피레스라이트 (데이터)

해설 (0)

MacOS 에서 숫자를 사용하여 시도하시겠습니까

나는 애플 Mac OS 액세스하도록 경우 것으로 작업시트의 숫자임 수행합니까 런피클링 잘 해결할 수 없는 복잡한 여러 줄 수 있는 Excel CSV 파일. 그냥 '.csv' 를 열고, 숫자 및 다음 익스포트합니다 한다.

해설 (0)

내 경우 CSV 의 열기 ',' 으로, 9월 = &quot 노트패드++ 및 추가 오픈 첫 번째 줄은 줄바꿈을 &quot, Excel 에서 utf-8 과 CSV 가 문제 없이 날 수 있습니다.

해설 (0)

대신 분리자의 재장착합니다 탭 (\t) 와 쉼표 (,). 그 후 해당 파일을 열고 편집기에는 (메모장 등), 복제본에 좁히어 관심용 Excel 파일의 내용을 붙이십시오.

해설 (1)