SQLite 데이터베이스에 루프에 데이터를 삽입하기 위해 선언 기반 및 Python 2.6.7과 함께 SQLAlchemy를 사용하고 있습니다.Python은 SQLAlchemy를 사용하여 SQLite 데이터베이스에 루프 변수를 삽입합니다.
간단한 배경으로 루프에서 변수 집합을 만드는 사전 접근 방식을 구현했습니다.
overall_star_ratings = doc.findall("//div[@id='maincontent2']/div/table/tr[2]//td/img")
count_stars = len(overall_star_ratings)
을 빈 SQLite 데이터베이스에서 나는 "t1_star"변수를 가지고 ... : 내가 뭘하려고 다음과 같은 요소에 데이터를 1 ~ 12 개 웹 사이트에서 일부 데이터를 긁어하고있는 것입니다 "t12_star"를 선택하고 "overall_star_ratings"에있는 값 목록을 반복하고 해당 값을 페이지에 따라 달라지는 데이터베이스 변수에 할당하려고합니다. 나는 SQLAlchemy를 사용하고있다. (매우 비효율적 인 언어에서) 내가하고 싶은 것은 값을 할당하고 다음과 같이 DB에 삽입하는 것이다. (나는 '행' 명령은 데이터베이스 열 't1_star'등)에 * t1_star *의 값을 삽입 :이 작동하지만 매우 비효율적이다
if count==2:
row.t1_star = overall_star_ratings[1].get('alt')
row.t2_star = overall_star_ratings[2].get('alt')
elif count==1:
row.t1_star = overall_star_ratings[1].get('alt')
, 그래서 '나는이 변수를 생성에 "사전"접근 방식을 구현 스택 오버플로에 대한 "변수 변수"질문에 표시됩니다. 그래서, 여기에 내가 무엇을 시도했다입니다 : 이것은 사전뿐만 아니라 값에 대한 't1_star', 't2_star "키를 생성하기위한 작동
d = {}
for x in range(1, count_stars+1):
count = x-1
d["t{0}_star".format(x)] = overall_star_ratings[count].get('alt')
문제는 온다 나는에 데이터를 삽입 할 때. .
for key, value in d.items():
row.key = value
문제는이되지 않는 것입니다 : 위의 루프가 완료된 후 나는 또한 다음을 추가하려고했습니다
key = "t{0}_star".format(x)
value = d["t{0}_star".format(x)]
row.key = value
: 데이터베이스 본인은 위의 루프에 다음과 같은 추가 시도 삽입하다 아무것도. 문제가 값 값이 아니고 스크립트의 일부인 부분에있는 것으로 보입니다. 그러나 그 점은 확실하지 않습니다. 내가 볼 수있는 모든 것에서 키은 "비효율적 인"방법 (예 : t1_star 등)을 할 때와 같은 문자열이므로 이것이 작동하지 않는 이유를 모르겠습니다. .
의견을 보내 주시면 대단히 감사하겠습니다.
감사합니다,
그렉
이 마법처럼 일했다! 감사! –