栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

pandas实现对sql server的插入更新操作

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pandas实现对sql server的插入更新操作

1.解决的问题

数据可能重多次插入,要求当一条数数据多次插入时,重复的数据做更新操作。

2.解决问题的思路

建表的时候设置主键索引
根据一行的数据生成一个加密后的值,将该值设置为主键列。

3.具体实现 1.建表语句
CREATE TABLE Model
(
    [ID] [nvarchar](255) NOT NULL PRIMARY KEY,
    [Import_Time] [nvarchar](255) NOT NULL,
    [Sales_Organization] [nvarchar](255) NULL,
    [Week] [nvarchar](255) NULL,
    [Channel] [nvarchar](255) NULL,
    [Channel_Code] [nvarchar](255) NULL,
    [EAN] [nvarchar](255) NULL,
    [Model] [nvarchar](255) NULL,
    [Brand] [nvarchar](255) NULL,
    [Description] [nvarchar](255) NULL,
    [Date] [nvarchar](255) NULL,
    [Stock] [nvarchar](255) NULL,
    [Sellout] [nvarchar](255) NULL,
    [TCL_Code] [nvarchar](255) NULL,
    [Product_Code] [nvarchar](255) NULL,
    [org_id] [nvarchar](255) NULL,
    [Year] [nvarchar](255) NULL,
    [Store_Code] [nvarchar](255) NULL,
    [Store_Name] [nvarchar](255) NULL,
    [Category] [nvarchar](255) NULL,
    [Customer_Group] [nvarchar](255) NULL,
    [City] [nvarchar](255) NULL
);
2.加密函数
# 加密函数
def encryption(str):
    import hashlib
    m = hashlib.md5(str.encode("utf-8"))
    encrypted_data = m.hexdigest()
    return encrypted_data 
3.根据一行数据生成主键列
# 读取csv中的数据
tb = pd.read_csv(file_name, delimiter=",", header=0)
# 对拼接后的一列数据中的每行调用 加密函数
tb['ID'] = (tb['Import_Time'].map(str) + tb['Week'].map(str) + tb['Channel'].map(str) + tb['Channel_Code'].map(str) + tb['EAN'].map(str) + tb['Model'].map(str) + tb['Description'].map(str) + tb['Date'].map(str) + tb['Stock'].map(str) + tb['Sellout'].map(str) + tb['TCL_Code'].map(str) + tb['Product_Code'].map(str) + tb['org_id'].map(str) + tb['Year'].map(str) + tb['Store_Code'].map(str) + tb['Store_Name'].map(str) + tb['Category'].map(str) + tb['Customer_Group'].map(str) + tb['City'].map(str)).map(encryption)
# 保存的表中
tb.to_sql(name=tbname, con=engine, chunksize=1000, if_exists='append', index=None)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/980355.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号