작업환경
- OS : Windows 10
- PC : LattePanda 4G RAM 64G eMMC (DFR0419)
- NAS : DS1618+
- Python : 3.6.8
- Tool : Pycharm
- PC와 NAS는 다른 네트워크
- PC와 NAS는 각각 Internet이 가능한 상태
1. Write Base Code
기본 시작 Code는 #07에서 참고한 소스이며, 다음과 같다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#!/usr/bin/python
import mysql.connector as mariadb
from mysql.connector import Error
try:
connection = mariadb.connect(host='#07의 2번에서 확인한 NAS의 외부주소',
user='#06의 3번에서 확인한 user 명 입력', port='#06의 6번에서 확인된 Port 번호 입력', password='#06의 3번에서 login에 사용되는 password 입력', database='#06의 4번에서 확인된 db 명 입력')
if connection.is_connected():
db_Info = connection.get_server_info()
print("Connected to MySQL database... MySQL Server version on ", db_Info)
cursor = connection.cursor()
cursor.execute("select database();")
record = cursor.fetchone()
print("Your connected to -", record)
except Error as e:
print("Error while connecting to MySQL", e)
#finally:
# if(connection.is_connected()):
# cursor.close()
# connection.close()
# print("MySQL connection is closed")
| cs |
2. Add Fetch Data Code
먼저 아래 링크를 참조했음을 알린다.
(링크 : https://stackoverflow.com/questions/25479710/how-to-fetch-data-in-python-from-mysql-database )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
#!/usr/bin/python
import mysql.connector as mariadb
from mysql.connector import Error
try:
connection = mariadb.connect(host='#07의 2번에서 확인한 NAS의 외부주소',
user='#06의 3번에서 확인한 user 명 입력', port='#06의 6번에서 확인된 Port 번호 입력', password='#06의 3번에서 login에 사용되는 password 입력', database='#06의 4번에서 확인된 db 명 입력')
if connection.is_connected():
db_Info = connection.get_server_info()
print("Connected to MySQL database... MySQL Server version on ", db_Info)
cursor = connection.cursor()
cursor.execute("select database();")
record = cursor.fetchone()
print("Your connected to -", record)
sql_select_Query = "select * from tablename"
cursor.execute(sql_select_Query)
for row in cursor:
print("time_peak = ", row[3], )
print("time_rms = ", row[2])
print("crest_factor = ", row[4])
print("frequency_peak = ", row[5])
print("frequency_band = ", row[11], "\n")
cursor.close()
except Error as e:
print("Error while connecting to MySQL", e)
#finally:
# if(connection.is_connected()):
# cursor.close()
# connection.close()
# print("MySQL connection is closed")
| cs |
3. Check Data Type of Raw Data
받아온 Data의 Type을 확인하기 위해서 다음과 Code를 이용한다.
(링크 참조 : https://eehoeskrap.tistory.com/295)
print(type(row[3]))
결과는 다음과 같다.
<class 'float'>
그리고 row 자체의 type은 다음과 같다.
print(type(row))
<class 'tuple'>
4. Make list given row data
Data를 받아 list로 만들어 주도록 한다.
f_param = [] # list for parameterstemp_param = [] # list for temporary raw datafor row in cursor: #print("time_peak = ", row[3], ) #print("time_rms = ", row[2]) #print("crest_factor = ", row[4]) #print("frequency_peak = ", row[5]) #print("frequency_band = ", row[11], "\n") #print(type(row)) temp_param = [] temp_param.append(row[0]) # id temp_param.append(row[3]) # time_peak temp_param.append(row[2]) # time_rms temp_param.append(row[4]) # crest_factor temp_param.append(row[5]) # frequency_peak temp_param.append(row[11]) # frequency_band f_param.append(temp_param) cursor.close() print(f_param)
댓글 없음:
댓글 쓰기