select 문을 사용하여 LIMIT 문을 사용하면 매우 쉬운 데이터 집합에서 처음 525,600 개의 행을 분리하고 싶지만 58 개의 개별 테이블에 대해 수행하고 싶습니다. 내 테이블 이름 목록이 있고 모든 테이블을 반복하는 함수를 정의하려고하지만 함수에서 정의한 변수 이름이 SQL 문 내에서 인식되지 않습니다. 내 코드는 다음과 같습니다.
import pandas as pd
from sqlalchemy import create_engine
import psycopg2
mylist = ['egauge13830','egauge13836','egauge13974','egauge14018','egauge14795','egauge15601',
'egauge15623','egauge16133','egauge16608','egauge16616','egauge17073','egauge17311',
'egauge18158','egauge18350','egauge18544','egauge19696','egauge19810','egauge19821',
'egauge20358','egauge20407','egauge20670','egauge20925','egauge21932','egauge22084',
'egauge22271','egauge22785','egauge23534','egauge24121','egauge24318','egauge2474',
'egauge26086','egauge26944','egauge27467','egauge28351','egauge28489','egauge2850',
'egauge2852','egauge28684','egauge30039','egauge30378','egauge3166','egauge3167',
'egauge3171','egauge32290','egauge32507','egauge33764','egauge3608','egauge3611',
'egauge4183','egauge5198','egauge6437','egauge7692','egauge7729','egauge7731',
'egauge8253','egauge8617','egauge8816','egauge9102']
def first_chunk(egauge):
engine = create_engine('postgresql://postgres:postgres@stargate/profiles')
start_time_stmnt = """
SELECT *
FROM egauge
LIMIT 525600
"""
first = pd.read_sql_query(start_time_stmnt, engine)
def iterthro(data):
for x in data:
first_chunk(x)
iterthro(mylist)
내가받은 오류는 "게이지"관계가 존재하지 않는다는 것을 나타냅니다. Btw,이 코드는 선택된 행에 아무 작업도하지 않기 때문에 꽤 쓸모가 없다는 것을 알고 있지만 앞으로 더 나아 가기 전에이 문제를 해결하고 싶습니다. 다양한 인용 조합과 같은 간단한 작업을 시도했지만 간단한 구문 실수를하고 있는지 또는 내 논리가 완전히 결함이 있는지 확실하지 않습니다. 모든 도움에 감사드립니다!
"{}".format(x)
문자열에서 변수를 사용하는 데 사용할 수 있습니다 . 도움이 되었기를 바랍니다.def first_chunk(egauge):
engine = create_engine('postgresql://postgres:postgres@stargate/profiles')
start_time_stmnt = """
SELECT *
FROM {}
LIMIT 525600
""".format(egauge)
first = pd.read_sql_query(start_time_stmnt, engine)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다