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

课桌公司网站建设苏州网站建设

课桌公司网站建设,苏州网站建设,怎么做国外游戏下载网站,自己做的网站怎么植入erp紧接上文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/465232.html

相关文章:

  • 湛江 网站建设爱站网seo查询
  • 长春网站建设电话咨询永久不收费免费的聊天软件
  • 广告手机网站制作西安全网优化
  • 用自己的电脑做网站划算百度账号人工客服电话
  • 淘宝接网站开发的活2345网址导航电脑版
  • 网站把域名解析到新ip后做网页多少钱一个页面
  • 多张图做网站背景seo服务公司怎么收费
  • 网站建设概况无锡网站建设方案优化
  • 怎样用word做网站西安网约车
  • 成都设计网站的公司名称互联网哪个行业前景好
  • 暗网网站产品推广宣传方案
  • 音乐网站开发需要什么语言工具免费b2b网站推广有哪些
  • 网站策划方案800字各大网站域名大全
  • wordpress4.9.4杭州百度首页优化
  • 广告公司名字三个字安徽网站推广优化
  • 自己做的网站怎么在百度搜索到移动网站优化排名
  • 微信服务号菜单链接网站怎么做的足球排名世界排名
  • 网站设计的英文国家中医药管理局
  • 购买了网站如何使用吗上海知名的seo推广咨询
  • 做短视频网站用哪家cms网页版百度云
  • 做公司网站要多少钱适合奖励自己的网站免费
  • 厦门网站建设案例今日头条10大新闻
  • jsp网站开发源码实例百度sem运营
  • 如皋市网站建设电子商务网店运营推广
  • 建设局网站瓯龙建州府3号楼电商网站建设方案
  • 医药网站 备案写手接单平台
  • 网站服务器 2核百度一级代理商
  • 上海专业做网站较好的公司百度的营销策略
  • 政府网站建设工作的通知搜狗广告联盟
  • 网站有后台更新不了外包网络推广公司推广网站