저는 파이썬 csv
모듈을 사용하여 일부 값이 json
문자열 인 csv를 만듭니다.JSON을 사용한 Python CSV 모듈 문제
import csv
import json
writer = csv.writer(open('tmp', 'w'))
writer.writerow([json.dumps([{'a' : 'b'}])])
당신이 볼 수 있듯이 출력 된 JSON은 깨진 :
cat tmp
> "[{""a"": ""b""}]"
import json
json.loads("[{""a"": ""b""}]")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/json/__init__.py", line 326, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 382, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Expecting property name: line 1 column 2 (char 2)
그리고 csv
객체를 인용 전환에 :
import csv
import json
writer = csv.writer(open('tmp', 'w'), quoting=csv.QUOTE_NONE)
writer.writerow([json.dumps([{u'a' : u'b'}])])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
_csv.Error: need to escape, but no escapechar set
그러나
csv
모듈의 인용은 완전히 JSON을 파괴한다
누구도이 문제가 발생 했습니까? json
과 csv
은 서로 잘 어울리지 않습니까? (csv
파일에 json
교반을 저장하는 것은 내 아이디어가 아닙니다. 지금 당장 처리해야 할 부분이 있습니다.) 불행하게도, 내가 해시 다이제스트를 포함 만드는 오전이 CSV를 모든 sed
또는 awk
틱 형 솔루션은 내가 실패 또는 뭔가를 엉망 시도한 JSON을 수정하는 그래서 다른 복잡한 물건의 모든 종류의 ...
'quoting = csv.QUOTE_NONE' 인수를 버리십시오. – falsetru
그렇지만 json은 계속 인용 부호로 구분됩니다. – qwwqwwq
따옴표 문자를'''로 변경할 수 없습니까? – mgilson