psychopg2가있는 Python 스크립트를 사용하여 Excel 스프레드 시트를 Postgres DB에 삽입하려고합니다.가변 열 개수가있는 삽입 문을 생성하는 psychopg2
문제는 모든 스프레드 시트의 열 수가 같지 않아서 insert 문이 충분히 유연하여 이름으로 지정할 필요가 없기 때문입니다.
필자의 접근 방식은 스프레드 시트의 헤더 행 열을 튜플에로드하는 것과 마찬가지로 값을 삽입하는 것이다. 따라서 예 :
sql = ''''INSERT INTO my_table (%s) VALUES (%s);'''
cur.execute(sql, (cols, vals))
여기서 'cols'와 'vals'는 둘 다 튜플입니다.
'cols'는 스프레드 시트의 열 수에 따라 7, 9, 10 등의 항목을 가질 수 있습니다. 내가 이것을 실행하려고하면
, 내가 얻을 : 문제가 내 호출 구문, 또는 당신은 단순히 할 수없는 경우에 내가 할 노력하고있어
psycopg2.ProgrammingError: syntax error at or near "'INSERT INTO my_table
(ARRAY['"
LINE 1: 'INSERT INTO my_table...
^
확실하지합니다.
좋은 눈 ... 바보 오타 죄송
cols
을 Asuming하는 목록입니다. 제거했지만 오류는 설명 된대로 그대로 유지됩니다. – Mark그게이 오류를 지나치게 받았다. 감사! – Mark