前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python-sqlite3-08-往数据库中写入Excel中信息

Python-sqlite3-08-往数据库中写入Excel中信息

作者头像
zishendianxia
发布2020-08-25 11:03:53
1K0
发布2020-08-25 11:03:53
举报
文章被收录于专栏:Python工程师Python工程师

系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2

  • 这个系列讲讲Pythonsqlite3的操作
  • 本文介绍: 将已知数据写入数据库

Part 1:示例说明

  1. 当我们建立一个数据库后,很多时候需要将原来Excel的数据写入到数据库中,例如一些常数项信息等
  2. 有多种方法可以实现,如数据库管理软件自带的导入功能,遗憾的是大部分都不好用; 还有就是本文提到的方法,撰写代码,不同的情况,稍作修改即可
  3. 为了降低代码的复杂度,提前将Excel文件内容稍作规范
    • 只保留一个Excel工作表,方便定位
    • 第1行新增字段名,方便后续df操作

Excel信息

数据库内容

Part 2:代码

代码语言:javascript
复制
import sqlite3
import os
import pandas as pd

current_address = os.path.dirname(os.path.abspath(__file__))
db_address = os.path.join(current_address, "数据库.db")
excel_address = os.path.join(current_address, "基础数据.xlsx")

# 读取Excel数据
df = pd.read_excel(excel_address)
print(df)

table_name = "constants"
conn = sqlite3.connect(db_address)
cur = conn.cursor()

fields_name = "C, D"

for index, row in df.iterrows():
    a = row["A"]
    b = row["B"]
    fields_value = "'{0}', {1}".format(a, b)
    sql = "Insert Into {0} ({1}) Values({2})".format(table_name, fields_name, fields_value)

    cur.execute(sql)
    conn.commit()

conn.close()

代码截图

执行结果

Part 3:部分代码解读

  1. pd.read_excel(excel_address),读取Excel文件中的工作表,默认第1行作为列名
  2. for index, row in df.iterrows():df进行按行遍历
    • 通过row["A"],其中A表示对应的列名,获取某行某列的值
  3. Insert Into 表名 (字段s) Values(对应字段的取值),向数据库表中新增内容的标准格式

df

本文为原创作品,欢迎分享朋友圈

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python工程师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档