본문 바로가기

전체 글621

[Spring] 스케쥴러 사용해 일정주기마다 코드 실행하기 스케쥴러를 사용해 일정 주기마다 코드를 실행시키고자 한다 servlet-context.xml 에서 아래 두 줄을 추가한다. xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation= "http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.1.xsd" xsi:schemaLocation 의 경우 이미 적혀 있는 곳에서 http만 추가해주면된다. 결과 servlet-context.xml 하단에 다음 코드도 추가한다. 패키지 이름은 사용하고자 하는 스케줄러가 있는 위치의 패키지를 작성한다. 자바에서 초 분 시 일.. 2020. 10. 7.
[python] dataframe db에 저장 import pandas as pd import pymysql pymysql.install_as_MySQLdb() pd_data = pd.DataFrame(resultlist) print(pd_data) engine = create_engine('mysql://root:'+'password'+'@localhost/db_name',encoding='utf-8') pd_data.to_sql('table_name',engine,if_exists='replace',index=False, index_label=None, chunksize=500) print('ok') 'if_exists' 옵션에는 {'fail', 'replace', 'append'}의 3개가 존재하고, 디폴트는 'fail' 옵션입니다. if_ex.. 2020. 10. 7.
[python error] not enough arguments for format string not enough arguments for format string 튜플에서 원소의 개수는 문자열에 있는 서식 시퀀스의 개수와 일치해야 한다. 또한, 원소의 유형도 서식 시퀀스와 일치해야 한다. 예시) ## 오류 '%d %d %d' % (1, 2) ## 정상 '%d %d %d' % (1, 2, 3) 2020. 9. 28.
[python error] execute() takes from 2 to 3 positional arguments but 6 were given execute() takes from 2 to 3 positional arguments but 6 were given %s 등의 format으로 변수의 값을 넣을 때, 형식이 맞지 않아 발생하는 Type Error 이다. 아래와 같은 방법은 파이썬에서 사용하지 않는 방법이다. 사용하고자 하는 데이터가 문자열인지 숫자인지 확인한 후 어떠한 포맷 옵션을 사용하면 되는지 확인 후 사용하면 된다. %s : 문자열 %d : 정수 2020. 9. 28.
(오류) (pymysql.err.OperationalError) (1054, "Unknown column '컬럼명' in 'field list'") 크롤링한 데이터를 mysql에 insert할 때 만난 오류 OperationalError: (pymysql.err.OperationalError) (1054, "Unknown column '공고기관' in 'field list'") [SQL: INSERT INTO rndrss2 (`공고기관`, `제목`, `공고일`, `링크`) VALUES (%(공고기관)s, %(제목)s, %(공고일)s, %(링크)s)] [parameters: ({'공고기관': '공고이름', '공고일': '2020.09.28', '링크': 'https://www.'}) 다음과 같은 오류가 생긴 데에는 두가지 이유가 있다. 1. colum이 없다. 2. 사용자가 문자열로 준 데이터가 쌍따옴표로 둘러싸여 있지 않아서 생기는 오류로 mysql.. 2020. 9. 28.
[python] not all arguments converted during string formatting 파이썬에서 문자열 포매팅을 하는데 생긴 오류이다. not all arguments converted during string formatting 문자열 형식화 중에 모든 인수가 변환되지는 않는다. %s 로 변수가 들어올 자리 수와, 넣고자하는 변수의 수가 맞지 않아 발생한 에러로그로 ( ) 안에 있는 변수의 개수를 맞춰서 사용해주면 된다. 예시 # ok cursor.execute("insert into tablename (company,title,date,link) values(%s,%s,%s,%s)",val_insert) # error cursor.execute("insert into tablename (company,title) values(%s,%s,%s,%s)",val_insert) 2020. 9. 28.