1. 程式人生 > 其它 >使用python和sqlite處理資料

使用python和sqlite處理資料

1.處理空行

python程式

import pandas as pd # 匯入 pandas庫
data = pd.read_excel("PittsburghBridges.xls") # 讀取表格資料
res = data.dropna(how="all") # 清除空白行
res.to_excel("PittsburghBridges_new.xls", index=False) # 輸出處理後的檔案

2.建立一個數據庫

使用sqlite 建立一個名為bridgeNew的資料庫

CREATE TABLE bridgeNew  
(  
    id INTEGER PRIMARY KEY AUTOINCREMENT, 
    bridge_type VARCHAR,   --外來鍵欄位
    --建立外來鍵
    CONSTRAINT fk_type  
    FOREIGN KEY (bridge_type)  
    REFERENCES bridge (type)  
);

解釋:在 bridgeNew 表中,建立一個外來鍵 bridge_type ,該 bridge_type 欄位引用 bridge 表的 type 欄位。

3.建立一個數據庫

使用 sqlite

CREATE TABLE bridge  
(  
    id INTEGER PRIMARY KEY AUTOINCREMENT, 
    type VARCHAR NOT NULL,  
    subtype VARCHAR NOT NULL,  
    pattern VARCHAR NOT NULL,  
    material VARCHAR NOT NULL,  
);

4.使用python建立資料庫

1、建立 sqlite資料庫,並建立一張表名為 sheet1 的表,其中包含欄位 idnameage

import sqlite3 # 匯入sqlite
import os
dbPath = 'database.sqlite'
if not os.path.exists(dbPath):
    conn = sqlite3.connect(dbPath)
    c = conn.cursor()
    c.execute('''create table sheet1 (id int primary key not null,name varchar not null,content text);''')
    conn.commit()
    conn.close()

2、寫入資料

import sqlite3
dbPath = 'database.sqlite'
conn = sqlite3.connect(dbPath)
c = conn.cursor()
# 插入資料
c.execute('''
insert into persons(id,name,content)
values(1, 'tom', 18)
''')
c.execute('''
insert into persons(id,name,age)
values(2, 'jack', 20)
''')
conn.commit()
print('insert success')

5.查詢資料

a:

SELECT name, mile FROM bridge where river = 'M' and demplished = '0';

b:

SELECT name, mile FROM bridge where type = 'arch' and material = 'steel'