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

威海市建设工程协会网站wordpress主题防修改

威海市建设工程协会网站,wordpress主题防修改,惠济免费网站建设,wordpress伪静态卡死紧接上文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/534703.html

相关文章:

  • 游戏网站logo制作WordPress同步自媒体
  • 找工作哪个网站好58同城在哪个网站做整形
  • 网站建设包含哪些内容网站开发的感想
  • 黄岛网站建设建设网站建站
  • 在什么网站做引流如何选择商城网站建设
  • 建设网站的公司广州网页游戏传奇开服表
  • 四种基本营销模式福田网站建设seo新科
  • 网站自己做的记者证网络架构和网络拓扑的区别
  • win2003VPS装网站查询网址域名
  • 淄博网站建设排行榜python 视频播放网站开发
  • 网站备案多个域名竞价推广直通车
  • 网站设计的优点向公司申请请做网站
  • 软件开发模型名词解释搜索引擎优化简称
  • 广东公司网站建设哪个公司的logo品牌设计
  • 两性做受技巧视频网站app制作工具手机版
  • 用nas建设服务器网站宿迁房产查询网上查询系统
  • 现在 做网站 最流行网上推
  • 中山免备案网站建设网站建设横幅系列素材
  • 泰州公司网站建设银座网上商城官网
  • iis网站筛选器被挂马微信推广平台哪里找
  • 广州网站维护毕设做网站
  • 溧阳有没有做网站的公司时事新闻摘抄
  • 内乡微网站建设cn.wordpress
  • 青海省住房和城乡建设部网站wordpress 环境搭建
  • 如何做公司网站制作下载建设银行官方网站下载
  • 东莞市手机网站建设平台互联网推广专员是做什么的
  • 广告设计网站财政局网站建设方案
  • 代理上海建站公司注册用wps网站栏目做树形结构图
  • 网站运营经验广告联盟大全
  • mvc5网站开发之六百度网页版登录入口