StoryCode

'전체 글'에 해당되는 글 568건

  1. 프리휠 분리
  2. csv 를 읽어 mysql create table 문장 생성
  3. BodyCam.A50.초기화

프리휠 분리

자전거
반응형

참고 : https://mondemonde.tistory.com/8

 

 

프리 휠 분리 방법)

참조 : https://www.youtube.com/watch?v=X2fl0wMsOos

 

아래로 눌러서 돌리면 풀린다.

 

반응형

'자전거' 카테고리의 다른 글

구매후기  (0) 2024.09.22
BodyCam.A50.사용법.녹화방법  (0) 2024.09.05
BodyCam.A50.초기화  (0) 2024.03.05
네비게이션.BSC-300.Menu  (0) 2023.11.20
복장.가난한자.겨울  (0) 2023.11.14

csv 를 읽어 mysql create table 문장 생성

Python, 파이썬
반응형

# Ubuntu 에서 특정 디렉토리에 있는 CSV 들을 읽어서 각 csv 에 매칭되는 create table sql 생성한다. 

 

import csv
import os
import getpass

# 특정 디렉토리 경로
username = getpass.getuser()
directory = os.path.join("/home", username, "mycsvdirectory/")

# 디렉토리 내의 모든 csv 파일 목록 가져오기
filenames = os.listdir(directory)
csv_files = [f for f in filenames if f.endswith(".csv")]

with open("CREATETABLE.sql", "w") as f:
    f.truncate()

# 각 csv 파일을 읽어 CREATE TABLE 문 생성 및 저장
for csv_file in csv_files:
    print("Filename :" + csv_file)
    with open(os.path.join(directory, csv_file), "r") as f:
        reader = csv.reader(f)

        # 첫 번째 행 (헤더)을 읽어 컬럼 목록으로 변환
        headers = next(reader)

        # 컬럼명에서 '-'를 '_'로 변경
        headers = [col.replace("-", "_") for col in headers]
        print(headers)

        # 첫 번째 컬럼을 제외한 나머지 컬럼 목록 생성
        remaining_headers = headers[0:]
        print(remaining_headers)

        # 각 컬럼의 최대 길이 저장
        column_max_lengths = {}
        for col in remaining_headers:
            column_max_lengths[col] = 0

        # 데이터 읽어서 각 컬럼 최대 길이 계산
        for row in reader:
            for i, col in enumerate(row):
                # print(row)
                if len(col) > column_max_lengths[remaining_headers[i]]:
                    column_max_lengths[remaining_headers[i]] = len(col)
        print(column_max_lengths);

        # DROP TABLE IF EXISTS 문 생성
        drop_table_sql = f"DROP TABLE IF EXISTS MYTABLE_{csv_file[:-4].upper()}_TBL;\n"

        # CREATE TABLE 문 생성
        create_table_sql = f"""
            CREATE TABLE IF NOT EXISTS MYTABLE_{csv_file[:-4].upper()}_TBL (
                {", ".join([f"{col} VARCHAR({column_max_lengths[col]})" for col in remaining_headers])}
            );

            CREATE INDEX idx_{csv_file[:-4].upper()}_TBL ON MYTABLE_{csv_file[:-4].upper()}_TBL ({headers[0]});
        """

        # SQL 문을 1.0.result.CREATETABLE.sql 파일에 저장
        with open("CREATETABLE.sql", "a") as f:
            f.write(drop_table_sql)
            f.write(create_table_sql + "\n")

반응형

'Python, 파이썬' 카테고리의 다른 글

Debuggin,디버깅,pdb  (0) 2024.05.24
import directory 지정해주기  (0) 2024.04.19
..., :, Ellipsis  (0) 2023.09.21
Debugging.디버깅.breakpoint()  (0) 2023.09.20
print().5 Ways  (0) 2022.12.18

BodyCam.A50.초기화

자전거
반응형

1) MTC App에서 Wifi 로 접속해보면 " username or password mistake " 라고 뜨면서 아무것도 안됨

2) 리셋 버튼 10초 누르기. (4번째 작은 구멍)

3) App 삭제후 재 설치

4) App 에서 기기 추가 ( 초기 비밀번호는 8888 )

 

이렇게 하니 접속은 됨. 계속 사용해 봐야 알 듯.

반응형

'자전거' 카테고리의 다른 글

BodyCam.A50.사용법.녹화방법  (0) 2024.09.05
프리휠 분리  (0) 2024.03.24
네비게이션.BSC-300.Menu  (0) 2023.11.20
복장.가난한자.겨울  (0) 2023.11.14
키후.플레임.에보.수리.튜브  (0) 2023.11.12