Python 5

python pandas로 csv 읽기

* 결국엔 하자가 많아서 php fgetcsv로 처리함. 천만 건 정도 되는 데이터를 csv로 받아서 json으로 변경 해서 카프카에 전송 해야 했다. import csv를 썼는데, 두 줄을 한 줄로 읽음........... 다른 언어 쓸까 하다가 이미 코드 짜놓은 게 아까워서 파이썬 물고 늘어지기로 하고 pandas로 함. import pandas ... csv_data = pandas.read_csv(csv_file, names=cols, low_memory=False) data = csv_data.to_dict() cols = ["no","reception","user_id","inquiry_type1","content","write_datetime","update_datetime","write_g..

slack bot 실행시 CERTIFICATE_VERIFY_FAILED (_ssl.c:1051)

개발 환경에서는 문제가 없다가 실서버에서 돌리니 인증서 오류가 발생 했다. Failed to send a request to Slack API server: Failed to send a request to Slack API server: Traceback (most recent call last): File "/home/apps/python3.7/lib/python3.7/urllib/request.py", line 1317, in do_open encode_chunked=req.has_header('Transfer-encoding')) File "/home/apps/python3.7/lib/python3.7/http/client.py", line 1229, in request self._send_req..

python으로 Slack Bot 만들기

특정 채널에 특정 단어가 포함된 메시지를 감지 2에서 감지한 메시지에 특정 리액션이나 스레드에 댓글로 특정 메시지를 남기면 확인 2에서 특정 메시지를 남겨서 확인 처리 됐으나, 수정 해서 특정 메시지가 없어지거나 메시지 자체를 삭제를 하면 확인 취소 슬랙 앱 설정을 아래처럼 해줌. Settings > Socket Mode Enable Socket Mode을 켜야 함. Features > Event Subscriptions 필요한 이벤트 추가 (요구 사항에 대한 이해가 부족해서 일단 필요하다 싶은 거 다 넣어버림.) slack-sdk랑 slack-bolt가 필요함. pip3 install slack-sdk slack-bolt 슬랙 앱 토큰이랑 봇 토큰이 필요. 봇 토큰은 xoxb로 시작하고, 앱 토큰은 x..

pymysql.err.InternalError: Packet sequence number wrong - got 1 expected 0

File ".../python3.7/lib/python3.7/site-packages/pymysql/connections.py", line 707, in _read_packet % (packet_number, self._next_seq_id) pymysql.err.InternalError: Packet sequence number wrong - got 1 expected 0 웹서버를 추가한 뒤, 특정 DB서버에 접근하면 위 오류가 발생했다. 찾아보니 pymysql의 threadsafe가 1이라서 발생한다고 나왔고, https://peps.python.org/pep-0249/#threadsafety 문서를 읽어보니 뭐 그럴 수도 있겠다 싶었는데, 동일한 코드가 다른 웹서버 세 곳에서는 잘 돌아갔다. fro..

cpu core 온도 로그 남기기

lm-sensors 설치 후 파이썬 스크립트로 cpu core 온도를 로그 파일에 남기기 했다. sudo apt install lm-sensors # -*- coding: utf-8 -*- import os import json import socket from datetime import datetime if __name__ == '__main__': log_path = '/home/logs/temperature/cpu_core.log' sensors_res = os.popen('sensors -j').read() data = json.loads(sensors_res) if 'coretemp-isa-0000' in data: result = { 'hostname': socket.gethostname()..

반응형