python 批量匯入到資料庫 使用 sql

2021-08-15 11:39:43 字數 2482 閱讀 3179

前提條件 是sqlalchemy 的連線session 測試成功

from db.mysql.connection import session

import os

# sql1 = "insert into `china_administration` values ('1', '安徽省淮北市市轄區', '340601')"

# sql2 = "insert into `china_administration` values ('2', '安徽省淮北市市轄區', '340602')"

defeachfile

(filepath):

""" 讀取資料夾下面的所有檔案 的路徑"""

pathdir = os.listdir(filepath)

file_path_list = list()

for alldir in pathdir:

child = os.path.join('%s%s' % (filepath, alldir))

return file_path_list

path_files_ = os.path.dirname(os.path.realpath(__file__)) + "\\files\\"

file_path_list = eachfile(path_files_)

# print(file_path_list)

for file_path in file_path_list:

with open(file_path, 'r', encoding="utf8") as ch:

reader = ch.readlines()

field_list = list()

for line in reader:

if line.startswith("drop"):

db_name = line.replace("`", "").replace(";", " ").split(" ")[4]

if line.strip().startswith("`"):

ziduan = line.strip().replace("`", " ").split(" ")[1]

if ziduan == "key":

ziduan = db_name + "." + ziduan

# print(field_list)

field_str = ", ".join(f for f in field_list)

field_str = "(" + field_str + ")"

for line in reader:

if line.startswith("drop"):

db_name = line.replace("`", "").replace(";", " ").split(" ")[4]

sql_del = "delete from " + db_name

session.execute(sql_del)

if line.startswith("insert"):

sql = line.strip().replace(";", "")

s_s_sql = sql.replace("` ", field_str + "` ").replace("`", "")

print(s_s_sql)

session.execute(s_s_sql)

#session.commit()

sql 檔案的一部分內容

-- ----------------------------

-- table structure for china_administration

-- ----------------------------

drop table if exists `china_administration`;

create table `china_administration` (

`id` int(11) not null auto_increment,

`name` varchar(64) default null,

`administration_code` varchar(6) default null,

primary key (`id`),

unique key `administration_code` (`administration_code`)

) engine=innodb auto_increment=3753 default charset=utf8;

-- ----------------------------

-- records of china_administration

-- ----------------------------

insert into `china_administration` values ('1', '安徽省淮北市市轄區', '340601');

Excel批量匯入到資料庫

using system using system.collections.generic using system.linq using system.web using system.web.ui using system.web.ui.webcontrols using system.data...

POI批量匯入到資料庫詳解

第一步在pom檔案中匯入需要的jar包 org.apache.poi poi3.10 final org.apache.poi poi scratchpad 3.10 final org.apache.poi poi ooxml 3.10 final org.apache.poi poi ooxml...

PHPExcel匯入到資料庫

使用phpexcel 讀取excel 資料到資料庫 建立乙個讀取excel資料,可用於入庫 function readexcel file return datas excel 資料 批量匯入資料庫 param string table 表名 param array excel result exc...