sqlite之从csv文件向数据库中插入数据

sqlite之从csv文件向数据库中插入数据

import csv
import sqlite3
file_path = "I:/db/flight4.csv"

创建数据库

con = sqlite3.connect("I:/db/flight.db")
# con.execute("drop table flight_info")
# con.commit()
c = con.cursor()
create_table = """
        create table flight_info
        (sno varchar(20),
        start_time date,
        end_time date,
        start_p varchar(15),
        end_p varchar(15),
        money int,
        remaining int,
        time varchar(10)
        );
"""
c.execute(create_table)
con.commit()

读取数据到数据库中

flie_reader = csv.reader(open(file_path,'r',encoding="utf-8"),delimiter=',')
# header = next(file_path,None)  #去掉属性栏
for row in flie_reader:
    data=[]
    for index in range(8):
        data.append(row[index])
    print(data)
    c.execute("insert into flight_info values(?,?,?,?,?,?,?,?);",data)
con.commit()
['3U8892', '07-22 06:40', '09:40', '北京', '成都', '500', '20', '3h0']
['CZ9530', '07-22 06:40', '09:40', '北京', '成都', '500', '20', '3h0']
['CA4194', '07-17 07:00', '10:10', '北京', '成都', '500', '82', '3h10']
['KN5215', '08-19 07:00', '09:55', '北京', '成都', '778', '77', '2h55']
['MU8727', '07-21 07:00', '09:55', '北京', '成都', '500', '58', '2h55']
['ZH4194', '07-17 07:00', '10:10', '北京', '成都', '500', '34', '3h10']
['HU7147', '07-17 07:25', '10:45', '北京', '成都', '500', '71', '3h20']
['CA1405', '07-17 07:30', '10:35', '北京', '成都', '500', '60', '3h5']
['ZH1405', '07-17 07:30', '10:35', '北京', '成都', '500', '31', '3h5']
['3U1355', '07-18 07:55', '11:10', '北京', '成都', '500', '96', '3h15']
['CZ6161', '07-18 07:55', '11:10', '北京', '成都', '500', '77', '3h15']
['MF1623', '07-18 07:55', '11:10', '北京', '成都', '500', '21', '3h15']
['3U1355', '07-19 08:00', '11:10', '北京', '成都', '500', '72', '3h10']
['3U8819', '07-19 06:40', '12:15', '北京', '重庆', '880', '71', '5h35']
['CZ9487', '07-19 06:40', '12:15', '北京', '重庆', '500', '50', '5h35']
['G58699', '07-19 06:40', '12:15', '北京', '重庆', '500', '84', '5h35']
['MU3977', '07-19 06:40', '12:15', '北京', '重庆', '500', '79', '5h35']
['ZH3867', '07-19 06:40', '12:15', '北京', '重庆', '500', '33', '5h35']
['3U8515', '07-17 06:50', '09:45', '北京', '重庆', '500', '92', '2h55']
['CZ9301', '07-17 06:50', '09:45', '北京', '重庆', '500', '82', '2h55']
['EU7057', '07-17 06:50', '09:45', '北京', '重庆', '500', '81', '2h55']
['G58651', '07-17 06:50', '09:45', '北京', '重庆', '500', '88', '2h55']
['3U1677', '07-19 06:55', '09:55', '北京', '重庆', '500', '38', '3h0']
['CZ8817', '08-25 06:55', '09:55', '北京', '重庆', '730', '78', '3h0']
['MF1963', '10-06 06:55', '09:55', '北京', '重庆', '850', '62', '3h0']
['MU6681', '07-30 06:55', '10:00', '北京', '重庆', '950', '91', '3h5']
['CA1437', '08-29 07:00', '09:45', '北京', '重庆', '690', '45', '2h45']
['G58216', '07-17 07:00', '09:45', '北京', '重庆', '500', '33', '2h45']
['MU6681', '07-30 07:00', '10:00', '北京', '重庆', '950', '72', '3h0']
['SC1437', '07-17 07:00', '09:45', '北京', '重庆', '500', '44', '2h45']
['3U2235', '07-17 06:55', '09:50', '北京', '长沙', '500', '41', '2h55']
['CA1343', '08-27 06:55', '09:35', '北京', '长沙', '720', '98', '2h40']
['CZ4349', '07-19 06:55', '09:50', '北京', '长沙', '630', '88', '2h55']
['G56970', '07-17 06:55', '09:35', '北京', '长沙', '500', '40', '2h40']
['G58255', '07-17 06:55', '09:35', '北京', '长沙', '500', '28', '2h40']

查询flight_info表格

output = c.execute("select * from flight_info")
rows = output.fetchall()
for row in rows:
    out=[]
    for index in range(len(row)):
        out.append(row[index])
    print(out)
['3U8892', '07-22 06:40', '09:40', '北京', '成都', 500, 20, '3h0']
['CZ9530', '07-22 06:40', '09:40', '北京', '成都', 500, 20, '3h0']
['CA4194', '07-17 07:00', '10:10', '北京', '成都', 500, 82, '3h10']
['KN5215', '08-19 07:00', '09:55', '北京', '成都', 778, 77, '2h55']
['MU8727', '07-21 07:00', '09:55', '北京', '成都', 500, 58, '2h55']
['ZH4194', '07-17 07:00', '10:10', '北京', '成都', 500, 34, '3h10']
['HU7147', '07-17 07:25', '10:45', '北京', '成都', 500, 71, '3h20']
['CA1405', '07-17 07:30', '10:35', '北京', '成都', 500, 60, '3h5']
['ZH1405', '07-17 07:30', '10:35', '北京', '成都', 500, 31, '3h5']
['3U1355', '07-18 07:55', '11:10', '北京', '成都', 500, 96, '3h15']
['CZ6161', '07-18 07:55', '11:10', '北京', '成都', 500, 77, '3h15']
['MF1623', '07-18 07:55', '11:10', '北京', '成都', 500, 21, '3h15']
['3U1355', '07-19 08:00', '11:10', '北京', '成都', 500, 72, '3h10']
['3U8819', '07-19 06:40', '12:15', '北京', '重庆', 880, 71, '5h35']
['CZ9487', '07-19 06:40', '12:15', '北京', '重庆', 500, 50, '5h35']
['G58699', '07-19 06:40', '12:15', '北京', '重庆', 500, 84, '5h35']
['MU3977', '07-19 06:40', '12:15', '北京', '重庆', 500, 79, '5h35']
['ZH3867', '07-19 06:40', '12:15', '北京', '重庆', 500, 33, '5h35']
['3U8515', '07-17 06:50', '09:45', '北京', '重庆', 500, 92, '2h55']
['CZ9301', '07-17 06:50', '09:45', '北京', '重庆', 500, 82, '2h55']
['EU7057', '07-17 06:50', '09:45', '北京', '重庆', 500, 81, '2h55']
['G58651', '07-17 06:50', '09:45', '北京', '重庆', 500, 88, '2h55']
['3U1677', '07-19 06:55', '09:55', '北京', '重庆', 500, 38, '3h0']
['CZ8817', '08-25 06:55', '09:55', '北京', '重庆', 730, 78, '3h0']
['MF1963', '10-06 06:55', '09:55', '北京', '重庆', 850, 62, '3h0']
['MU6681', '07-30 06:55', '10:00', '北京', '重庆', 950, 91, '3h5']
['CA1437', '08-29 07:00', '09:45', '北京', '重庆', 690, 45, '2h45']
['G58216', '07-17 07:00', '09:45', '北京', '重庆', 500, 33, '2h45']
['MU6681', '07-30 07:00', '10:00', '北京', '重庆', 950, 72, '3h0']
['SC1437', '07-17 07:00', '09:45', '北京', '重庆', 500, 44, '2h45']
['3U2235', '07-17 06:55', '09:50', '北京', '长沙', 500, 41, '2h55']
['CA1343', '08-27 06:55', '09:35', '北京', '长沙', 720, 98, '2h40']
['CZ4349', '07-19 06:55', '09:50', '北京', '长沙', 630, 88, '2h55']
['G56970', '07-17 06:55', '09:35', '北京', '长沙', 500, 40, '2h40']
['G58255', '07-17 06:55', '09:35', '北京', '长沙', 500, 28, '2h40']
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
可以按照以下步骤将读取csv文件数据导入SQLite: 1. 打开CSV文件并读取数据。可以使用Pythoncsv模块或者pandas模块来读取CSV文件数据。 2. 连接到SQLite数据库。可以使用Pythonsqlite3模块来连接到SQLite数据库。 3. 创建表格。根据CSV文件数据结构,在SQLite数据库创建一个表格来存储数据。 4. 将CSV文件数据插入SQLite表格。使用INSERT INTO语句将CSV文件数据插入SQLite表格。 以下是Python代码示例: ```python import csv import sqlite3 import pandas as pd # 打开CSV文件并读取数据 with open('data.csv', 'r') as csv_file: csv_reader = csv.reader(csv_file) data = [row for row in csv_reader] # 连接到SQLite数据库 conn = sqlite3.connect('data.db') c = conn.cursor() # 创建表格 c.execute('''CREATE TABLE IF NOT EXISTS my_table (id INTEGER PRIMARY KEY, name TEXT, age INTEGER, city TEXT)''') # 将CSV文件数据插入SQLite表格 for row in data: c.execute("INSERT INTO my_table (name, age, city) VALUES (?, ?, ?)", (row[0], row[1], row[2])) # 提交更改并关闭连接 conn.commit() conn.close() ``` 另外,如果你使用pandas模块来读取CSV文件数据,可以使用to_sql()方法将数据直接导入SQLite数据库,如下所示: ```python import pandas as pd import sqlite3 # 读取CSV文件数据 data = pd.read_csv('data.csv') # 连接到SQLite数据库 conn = sqlite3.connect('data.db') # 将数据导入SQLite数据库 data.to_sql('my_table', conn, if_exists='replace', index=False) # 关闭连接 conn.close() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RockLis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值