当前位置: 首页 > wzjs >正文

历下区城乡建设委员会门户网站优化什么建立生育支持政策体系

历下区城乡建设委员会门户网站,优化什么建立生育支持政策体系,做网站需要软件,徐州建站公司模板紧接上文python 连接infomix,结合pandas,补充csdn在这方面的经验 。 由于无法通过sqlalchemy连接数据库ibm的informix数据库。得用jaydebeapi的jar包。 那么这篇文章就是介绍如何将十几万条的pandas的数据存到informix中。 ok,首先我们读取…

紧接上文python 连接infomix,结合pandas,补充csdn在这方面的经验

由于无法通过sqlalchemy连接数据库ibm的informix数据库。得用jaydebeapi的jar包。

那么这篇文章就是介绍如何将十几万条的pandas的数据存到informix中。

ok,首先我们读取csv文件

batch_df=pd.read_csv(filepath,encoding="ANSI",thousands=",",chunksize=1000)
for idx,df in enumerate(batch_df):# 增加插入时间,也可以放在下载里面处理datetime带有时间戳,所以要格式化一下df=df.assign(下载日期=datetime.datetime.today().strftime("%Y-%m-%d %H:%M:%S"))dfData = filter_dfData(df) #按照自己的要求进行过滤sql, insert_statements = generate_insert_sql(dfData, tablename) #生产sql和参数sql_to_db(sql, insert_statements, conn)

在数据过滤中,值得注意的是pandas中null是以np.nan填充的,而非None

def filter_dfData(df):#数据过滤# xxx_str是形如 (city VARCHAR(50), -- 地市机构代码)的sql建表语句,data_dict=xxx_str.split("\n") my_dict = {itemlist[-1]: itemlist[0] for itemlist in (item.split(" ") for item in data_dict)}df=df.rename(columns=my_dict)# 按照自己的字典替换df的名字df.replace(np.nan, None, inplace=True)#将df的空值替换为None。

然后自定义我们需要的sql语句,可喜可贺的是,jaydebeapi支持statement和many的方法,这样1、可以防止sql注入
2、sql和数据分开了
大大提升了效率。

# 接受一个df和tabl_name,返回sql和数据
def generate_insert_sql(df, table_name):insert_statements = []columns = ', '.join(df.columns)  # 生成字段名placeholders = ", ".join(["?"] * len(df.columns))  # 生成占位符sql = f"INSERT INTO {table_name} ({columns}) VALUES ({placeholders});"  # 生成sql语句for index, row in df.iterrows():values = []for value in row:  # 将float和str分开,有单引号的区别if isinstance(value, (float)):# 数值类型直接使用processed = valueelif value == None:processed = valueelse:processed = str(value)values.append(processed)values_str = tuple(values)  # 每条数据转为元组insert_statements.append(values_str)  # 组合多条数据return sql, insert_statements

最后将代码交由conn执行

def sql_to_db(sql, insert_statements, conn):try:cursor = conn.cursor()cursor.executemany(sql, insert_statements)print("提交成功")except Exception as e:print("提交失败", e)finally:cursor.close()

此外,还有一些,定时生成、等待生成结束,生成结束后、下载、下载完成后存储到数据库的过程。这些在后续的过程中将会编辑补充。(另外,数据处理和插入的时间可以重复利用从而减少时间,涉及到之前做得数据库连接池。)

http://www.dtcms.com/wzjs/56294.html

相关文章:

  • 网站快速排名怎么做电商网站建设
  • 威县做网站哪家好网站推广的四个阶段
  • 如果创建网站百度竞价代理商
  • 石家庄网站建设培训朝阳网站建设公司
  • 怎么利用自媒体做网站优化客源引流推广
  • 教学网站怎么做seo优化的方法
  • h5技术建设网站环球贸易网
  • 网站建设一对一培训seo推广方法集合
  • 网站整站优化公司做网站推广好做吗
  • 商城网站前期seo应该怎么做网页设计工资一般多少
  • 网站被屏蔽怎么访问网站怎么被百度收录
  • 手机网站开发外文文献关键词排名优化怎么样
  • 什么网站做h5网站交易平台
  • 模板网站哪家好南京网络推广外包
  • 哪个网站可以接加工单制作一个网站步骤
  • 公司网站建设30元南昌百度推广联系方式
  • wordpress指定目录为首页重庆百度seo排名
  • seo优化诊断工具专业网站优化公司
  • dreamweaver做网站教程莱阳seo外包
  • 建设网站里的会员系统营销公司网站
  • java网站开发案例抖音推广引流
  • 个体工商户注册代办南京广告宣传公司seo
  • wap网站设计seo公司服务
  • 上海网站建设基础舆情监控
  • 58桐城网站做装修推广是真的吗新闻式软文经典案例
  • 新乡网站推广福州百度推广优化排名
  • 新疆网站党建设备福州网seo
  • 海口网站建设哪家好郑州seo询搜点网络效果佳
  • wordpress 图片拉伸知乎seo优化
  • 建筑公司网站案例营销排名seo