2014-10-15 1 views
-4

내가 JSON 객체로 텍스트 파일을 변환 wnat JSON, 내 inputfile의 즉 객체의 수는 큰 텍스트 파일 (4 메가 바이트)가 있습니다. 내가 JSON 객체에 텍스트 파일을 작성하려고 할 때 오류가 발생합니다. 여기서 오류 "인수는 문자열의 순서이어야() writelines"이다.오류() 만드는 객체가

created_at : 여기 내 입력 파일입니다 금요일 2014년 10월 3일, 6시 36분, 기사 : 이스탄불 (신화) - 펫 훌라 흐 귈렌 "(421). 곡이 :! 당신 Incase의 야단법석은 ".. Haramîliği 새 대화하지 않은, herkul.org 사이트에 게재되었다. . Effendi는, ". 어떤 şirretlig 강타 모두 커버하고자하는 것을 이해 한 마음에서 비 휘발성"kullandı.sohbet에 알라의 메신저 (sallallahu alayhi 축복) 무하마드는 "나의 하나님, 내가 내 자신의 눈 조금, 인간의 고려 (임무에 따라서 상기 youve를 created_at : 06 . 누구 협회 카이 세리 지점은, 후원자의 기부에 위치하여 패키지로 가져 희생을 필요로하는 사람들에게 이전 도시에서와 가족을위한 도시의 4 개 가지 점에서 협회에 적용 전달 희생 고기를 감지 - 카이 세리는 (신화가) : 월요일 11시 57분는, 기사 10 월 2014 년 유통 센터가 만들어졌습니다. 지역 가족의 누군가의 희생이와 함께 그들이 마지막 웃음을 감사했다 그리고 그 소문에 50 % 기부의 양. 누구 협회 증가 지난해에 따라. 그들의 얼굴에 기여 인해 카이 세리 지점에서 이드 알 - 아드로 이동성을 경험하고있다. 피해자의 관계를 자선 기부금을 절단 한 후. ""라인 (11) inputfile.clos() ^ 구문 에러 : 유효하지 않은 구문

답변

0

공지 사항 오류 메시지 : "writelines() argument must be a sequence of strings"

#!usr/bin/python 
import sys, os 
import json 
inputfile = open('bugun_data_collection_KimseYokmu.txt', 'r') 
outputfile = open('bugun_data_collection_json_KimseYokmu.txt', 'w') 
#shows how the dictionary looks like 
reps = {"created_at": "date","article": "text"} 
#reads the input file line by line 
for line in inputfile: 
    outputfile.writelines((line, json.dumps(reps)) 
inputfile.close() 
outputfile.close() 

이 오류는 다음과 같습니다 여기 내 코드입니다. 예상대로 매개 변수 (튜플 타입)의 요소 밖으로 두 번째 던져는 dict하지 문자열입니다 때문입니다. 이 같은 문자열로 변환 json.dumps(reps)를 사용할 수 있습니다

outputfile.writelines((line, json.dumps(reps))) 

게다가, 당신은 for 루프에서 파일 닫기 작업을 넣어 가지고, 당신이로 작성하거나 폐쇄 파일에서 읽을 때 다른 오류가 발생합니다. 당신이 입력 파일에서 텍스트를 추출 할 경우

, 당신은 (I 예외를 처리하지 않은) 이런 식으로 작업을 수행 할 수 있습니다 답장을 보내

#reads the input file line by line 
outputlines = [] 
for line in inputfile: 
    text = line.split('article : ')[1] 
    date = line.split('article : ')[0].split('created_at : ')[1] 
    reps = {"created_at": date,"article": text} 
    outputlines.append(json.dumps(reps)) 
outputfile.writelines(outputlines) 
+0

덕분에, 나는 코드를 변경 한에 따르면 당신도 함께 그 최신 오류 코드와 메시지를 붙여 @swethaprasad A() 라인 –

+0

을 inputfile.clos에 루프 밖으로 폐쇄 파일, 그것은 나에게 "잘못된 구문"와 같은 오류를 제공하지만. – WKPlus

+0

내가 오류와 함께 코드를 편집 한 .. –

관련 문제