Python을 통한 프로그래밍

3120 단어 Python

Python을 통한 프로그래밍


배경.


파이썬을 공부하고 있으니까 뭐라도 해보고 싶어요.
python으로 Insert 텍스트를 만들어 보십시오.

개체 사용자(예)


자기 집에서 그룹을 만들기 위해서 인터넷 서비스를 만들었어요.
Insert를 사용하여 간편하게 데이터를 만들고 싶은 사람.

타겟이 아닌 사용자


현장에서 사용할 수 없다고 생각하는 사람은 0이다.
평론이나 고객 같은 말로 개발자를 억압하는 사람들
늘 진전이라고 말하고 매일 충동적인 사람.
늘 불평하는 사람.

조사하다.


원본 SQL 문
create table drivers (
id serial primary key,
first_name varchar,
last_name varchar
);
INSERT INTO drivers (first_name, last_name) VALUES ('Amy', 'Hua');
조건:
문자열은 작은 따옴표로 묶여 있다.
가변 항목이라도 해당할 수 있습니다.
입력 파일 이름을 지정하여 테이블 이름을 설정합니다.

원안


・ 파일에서 데이터를 읽습니다.
· SQL 제작
• 파일에 기록합니다.

컨디션


Colaboratory를 사용하는 것이 좋습니다.
https://colab.research.google.com/notebooks/welcome.ipynb?hl=ja
사용 방법은 아래 주소를 참조하십시오
https://obgynai.com/google-colaboratory/
SQL 문은 postgresql을 구상했습니다.

이미지


참조 GITHUB


다음 소스 코드

drivers.csv
VARCHAR(n),VARCHAR(n)
first_name,last_name)
Amy,Haru
Gimmy,Smith

#drivers.csvを編集を行い、ファイル名をテーブル名+csvに変更する
input = './sample_data/drivers.csv'
output = './sample_data/output.txt'

table = input.split('/')[-1].split('.')[0]
with open (input, encoding='utf-8') as f:
    with open('output.txt', 'w', encoding='utf-8') as g:
        contents = "Insert into " +  table +"("
        i = 0
        for row in f:
            if i == 0:
               typeList = row.rstrip().split(',')
            if i ==1:
               columList = row.rstrip().split(',')
               k = 0
               for c in columList:
                   if len(columList) == k+1:
                        contents = contents + c + 'VALUES ('
                   else:
                       contents = contents + c + ','
                   k = k + 1
            basecontets = contents

            if i >= 2:
                j = 0
                for r in row.rstrip().split(','):
                    if not 'INTEGER' in typeList[j]:
                        r = "'"+ r +"'"
                    if len(row.rstrip().split(',')) == j+1:
                             basecontets = basecontets +r
                    else:
                            basecontets = basecontets +r+','
                    j = j + 1
                basecontets = basecontets+ ');' + '\n'
                g.write(basecontets)
                basecontets = contents
            i = i + 1
        print("作成完了しました")

output.txt
Insert into drivers(first_name,last_name)VALUES ('Amy','Haru');
Insert into drivers(first_name,last_name)VALUES ('Gimmy','Smith');

좋은 웹페이지 즐겨찾기