2013-07-12 5 views
0

CSV에서 데이터를 가져 와서 mysql 테이블에 삽입하려고합니다. 시도하는 동안 Syntax Error이 표시됩니다. 이 오류를 해결할 수 있도록 도와주세요.SyntaxError : 구문 분석하는 동안 예기치 않은 EOF

코드

 
import csv 
import MySQLdb as mdb 
import ast 
cr = csv.reader(open("tushar.csv","rb")) 
k=0 
con = mdb.connect('***', '***', '***', '****') 
cur = con.cursor() 
for row in cr: 
    if k%2==0: 
     t=row 
     print t 
    else: 
     l1=row 
     l=ast.literal_eval(l1[0]) 
     sql="INSERT INTO amazon_order (orderno,mainStatus,stateCode,timeStamp,destZip,orderDate,cost) Values('%s','%s','%s')"%(t,l["status"],l["state_code"],l["processed_timestamp"],l["destination_zip"],l["odr_date"],l["cost"]) 
     print sql 
     cur.execute(sql) 
     con.commit() 
    k+=1 
if con: 
    con.close()  

오류

 
['497832'] 
Traceback (most recent call last): 
    File "linkedlist.py", line 14, in 
    l=ast.literal_eval(l1[0]) 
    File "/usr/lib/python2.7/ast.py", line 49, in literal_eval 
    node_or_string = parse(node_or_string, mode='eval') 
    File "/usr/lib/python2.7/ast.py", line 37, in parse 
    return compile(source, filename, mode, PyCF_ONLY_AST) 
    File "", line 1 
    {"status": "All items processed" 
           ^
SyntaxError: unexpected EOF while parsing 

tushar.csv 당신은 CSV를 사용하지 않아야

 
497832 
{"status": "All items processed", "state_code": "GA", "processed_timestamp": "2013/05/14 19:32:08 UTC", "destination_zip": "31028", "odr_date": "2013-05-13 00:00:00""cost": 54.08} 
487870 
{"status": "All items processed", "state_code": "CT", "processed_timestamp": "2013/03/11 22:15:43 UTC", "destination_zip": "06468", "odr_date": "2013-03-11 00:00:00","cost": 149.43} 
and so on.. 
+1

데이터가 잘 리면 나타납니다. –

답변

0

. 파일이 쉼표로 구분 된 값 형식이 아닙니다. CSV는 파일 행을 분석 할 수없는 부분으로 나눕니다.

{"status": "All items processed", "state_code": "GA", "processed_timestamp": "2013/05/14 19:32:08 UTC", "destination_zip": "31028", "odr_date": "2013-05-13 00:00:00""cost": 54.08} 

를 타고에 분할 ','당신은 목록을 얻을 : 첫 번째 줄에 좀 익숙해 찾고

['{"status": "All items processed"', 
'"state_code": "GA"', 
'"processed_timestamp": "2013/05/14 19:32:08 UTC"', 
(etc..) 

있다.

파일을 열어 한 줄씩 읽으십시오. csv 만 건너 뛰십시오.

관련 문제