🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手
🏳️🌈 博客主页:一晌小贪欢的博客主页
👍 该系列文章专栏:Python办公自动化专栏
文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏
❤️ 欢迎各位佬关注! ❤️
转眼我们【Python办公自动化之PostgreSQL篇】已经到了最后一篇了——【写入】篇了
今天写入讲完,我们3篇就结束啦!
三篇分别是(点击可查看):1、安装篇;2、导入&读取篇;3、以及今天的写入篇
1、首先我们在桌面随便新建一个测试Excel
2、我们利用pandas读取表格,将每一行读取成列表
这个非常简单!
代码:
安装库:pip install pandas
import pandas as pd
df = pd.read_excel("./test.xlsx",dtype=str,keep_default_na='')
for d in df.values.tolist():
print(d)
3、我们要在PostgreSQL数据库中创建一张表,用来存放刚刚Excel中的数据
一般我们创建表都会用数据库语言,但是太麻烦了!!我们利用一个最方便的方法!!
这也是为什么选择Navicat的原因!!
①首先我们把刚刚的创建的Excel,表头单独复制出来,存在桌面!
②先右击,再点击导入
改个名字:
类型长度都可以改,这里直接下一步!
一路下一步,点击关闭
大功告成!
上述步骤等于下述代码:我只是太懒了,实在不想写,万一字段超级多咋办,所以还是刚刚的步骤最方便!!
CREATE TABLE students (
name VARCHAR(50),
student_id INT,
gender VARCHAR(10),
grade FLOAT
);
4、 写入PostgreSQL
注意事项:
sql = 'insert into 插入测试表 values (%s,%s,%s,%s);'# 切记,有多少个(列)表头,就有多少个 %s 占位符
代码:
import pandas as pd
import psycopg2
conn = psycopg2.connect(
host="localhost",
database="sf",
user="postgres",
password="123456"
)
cur = conn.cursor()
print("连接成功!!")
df = pd.read_excel("./test.xlsx", dtype=str, keep_default_na='')
for d in df.values.tolist():
print(d)
sql = "INSERT INTO student VALUES (%s, %s, %s,%s)"
cur.execute(sql, tuple(d))
conn.commit()
print("插入成功!")
conn.close()
print("连接关闭!!")