
두 개의 csv 파일이 있는데 notepad++와 같은 텍스트 편집기에서 보면 동일하게 나타납니다. 그러나 Excel(현재 2003)에서 둘 다 열면 그 중 하나는 필드에 큰따옴표를 표시하고 다른 하나는 표시하지 않습니다. 왜 이런 일이 일어나는지 아는 사람이 있습니까?
참고: 열의 순서와 개수가 다릅니다.
파일 1은 Excel에서 "를 보여줍니다.
"1794", "FEMALE", "9", "", "CHRISTENSEN", "JAMES FAKE", "LUCIA", "8/28/2006", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "40890", "209417", "767-544-033", ""
파일 2는 Excel에 "를 표시하지 않습니다.
"1794","CHRISTENSEN","JAMES FAKE","LUCIA","8/28/2006","9","FEMALE","","","","","","",""
다른 어떤 문제 변수를 찾아야 합니까? 인코딩이 중요합니까?
답변1
그 중 하나는 필드에 큰따옴표를 표시하고 다른 하나는 표시하지 않습니다.
왜 이런 일이 일어나는지 아는 사람이 있습니까?
첫 번째 파일에는 쉼표 뒤에 공백이 있습니다.
두 파일 모두에서 동일한 동작을 얻으려면 공백을 제거하십시오.
RFC 4180에 따르면 필드에서 따옴표 밖의 공백은 허용되지 않습니다. 그러나 RFC에서는 "공백은 필드의 일부로 간주되므로 무시해서는 안 됩니다."라고 말합니다. 그리고 "구현자는 CSV 파일을 처리할 때 '당신이 하는 일에 있어서 보수적이어야 하고, 다른 사람으로부터 받아들이는 것에 있어서 자유로워야 합니다'(RFC 793).
1997, Ford, E350
와 같지 않다
1997,Ford,E350