안녕하세요?


지난번 포스팅에서 어떻게 잘 안되던 현재간의 정보를 얻어오는 데는 성공했는데, 다음으로 이 가져온 정보를 데이터 베이스에 저장하는 작업이 남아 있었습니다. 그래서 이번 포스팅에서는 이 과정까지는 한번 올려 보고자 합니다.



일단 제 예상에는 가져온 정보가 문자열로 되어 있어서 절대값으로 바꾸어 주는 abs()라는 함수가 제대로 작동을 하지 못한 것이라는 생각이 듭니다. 그래서 이 상황을 알아보기 위해서 type()라는 함수를 써서 진짜로 데이터가 무슨 타입으로 오는지 알아 보고자 합니다.



역시나 예상대로 str이라고 하는 문자열의 형태로 오는 것을 알 수 있었습니다. 이런 상황이라면 어떻게 abs()함수에 문자열을 넣었기 때문에 에러가 나는 것이 당연하다는 생각이 듭니다.



그래서 먼저 float()함수를 써서 문자열을 실수로 바꾸고, 그 실수를 int()함수를 써서 정수로 바꾸어 주도록 합니다. 그 다음에 abs()에 넣어서 절대값을 만들어 주도록 합니다.




그런데 제대로 가는 가 싶다가도 어디선가 또 에러가 나오는 것을 볼 수 있었습니다.



알고 봤더니 ohlcv딕셔너리를 초기화하면서 선언해 주지 않은 것이 문제라면 문제였습니다. 그래서 이번에는 버튼을 누르자 마자 이 딕셔너리를 선언해 주도록 합니다.



아까전에 위치가 좋지 않아서 인지 또 에러가 났기 때문에, 이번에는 뒤에 조건이 충족이 되든 아니든 간에 일단 무조건 요청을 보내기 전에 버튼을 누르자 마자 바로 작업이 일어나도록 만들어 주도록 합니다.



이번에는 제대로 제 의도대로 다 나오는 것을 볼 수 있었습니다.




다음으로는 위 스크린샷과 같은 것처럼 제대로 데이터 베이스 파일이 생성이 되었는 것을 볼 수 있었습니다.



그리고 제대로 가지고 오라고 했던 데이터가 나와 있는 것을 볼 수 있었습니다.



한번 더 버튼을 누르자 더 나중의 데이터라고 해야 할까요? 나중에 나온 데이터가 뒤에 들어가는 것을 볼 수 있었습니다. 즉, 과거의 데이터가 위로 가고, 현재의 데이터가 아래로 가는 것을 볼 수 있었는데, 이건 이것이고 이제 문제는 제가 하루종일 앉아서 계속해서 버튼을 누를 수는 없으니, 이를 어떻게 자동화하는 것이 중요하다는 생각이 듭니다.

+ Recent posts