2010-06-21 5 views
2

csv 및 탭 구분 파일을 처리 할 때까지 최선의 방법을 찾고 있습니다.탭 구분선 또는 쉼표로 구분 된 출력의 새 줄

CSV 파일의 경우 값에 쉼표 또는 큰 따옴표가 포함되어있는 경우 이미 일부 서식을 지정하고 있지만 값에 줄 바꿈 문자가 있으면 어떻게해야합니까? 새 줄을 그대로두고 값을 큰 따옴표로 묶어야하며 값 내에서 큰 따옴표를 이스케이프해야합니까?

탭으로 구분 된 파일에 대해 같은 질문이 있습니다. 같은 대답이 아니라면 대답은 매우 유사하다고 가정합니다.

답변

1

일반적으로 \n은 줄 바꿈 문자가 " " 문자열로 묶여 있다는 사실을 악용하는 동안 변경되지 않습니다. 이것은 모호함을 만들지는 않지만, 일반적인 텍스트 편집기를 사용하여 파일을 살펴 봐야한다면 정말 추한 것입니다.

하지만 이중 따옴표 자체를 제외하고는 CSV 문자열에서 아무 것도 이스케이프 처리하지 않으므로 어떻게해야합니다.

+0

빠른 답변 감사드립니다. 그게 내가 생각한거야. 나는 다른 사람과 확인을하고 싶었다. –

0

@ 잭이 옳다. 따라서 최선의 방법은 \n을 그대로 두는 것인데,이 경우에는 큰 따옴표 안에 넣을 것을 기대할 수 있습니다.

대부분의 경우와 마찬가지로 일관성이 중요하다고 생각합니다. 내가 아는 한, 여러 줄에 걸쳐 있거나 쉼표를 포함하거나 큰 따옴표를 포함한다면 값을 큰 따옴표로 묶어야합니다. 필자가 보았던 일부 구현에서는 모든 값이 이스케이프되고 큰 따옴표로 묶여졌습니다. 구문 분석 알고리즘이 단순 해 졌기 때문에 (이스케이프 및 이중 인용 부호는 전혀없고 CSV를 읽을 때 반대의 질문은 없습니다.)

이것은 공간 최적화 된 솔루션이 아니지만 향후 자신의 라이브러리와 향후 사용하게 될 다른 파일 모두에 대해 파일 읽기 및 쓰기를 사소한 일로 만듭니다.

관련 문제