FasterCSV (1.5.0)와 CSV 구문 분석 문제가 발견되었지만 진짜 버그 인 것 같지만 해결 방법이 필요합니다.FasterCSV gem을 사용하여 CSV 구문 분석의 기본 문제 극복하기
기본적으로 필드가 따옴표로 묶일 때 구분 기호 (내 경우에는 쉼표) 뒤에 공백을 추가하면 MalformedCSVError
이 생성됩니다.
다음은 간단한 예제 :
# No quotes on fields -- works fine
FasterCSV.parse_line("one,two,three")
=> ["one", "two", "three"]
# Quotes around fields with no spaces after separators -- works fine
FasterCSV.parse_line("\"one\",\"two\",\"three\"")
=> ["one", "two", "three"]
# Quotes around fields but with a space after the first separator -- fails!
FasterCSV.parse_line("\"one\", \"two\",\"three\"")
=> FasterCSV::MalformedCSVError: Illegal quoting on line 1.
오전 내가 미친 것, 또는이 FasterCSV의 버그?
필드가 실제로 따옴표로 묶이지 않는다고 말하는 공간이 아니며 (첫 번째 문자는 따옴표가 아니므로) 필드 내용의 일부로 따옴표를 사용해야합니까? –
내가 틀렸어. "필드가 큰 따옴표로 묶이지 않으면 큰 따옴표가 필드 안에 나타나지 않을 수 있습니다." - http://tools.ietf.org/html/rfc4180#section-2 –
당신 말이 맞아, CSV를위한 '사양'이 있다는 것을 깨닫지 못했지만 그것이있는 것 같습니다. 더 빠른 CSV는 실제로 매우 엄격합니다. – Olly