python把Excel写入pg

news/2024/11/17 20:49:07/

1.Excel列和数据库表字段相同

def radical_to_db():data1 = pd.read_excel("C:/work/20220714***/**/词**导入pg.xlsx")# drop first linedata1 = data1.drop([0])# set upd_date# get current timenow_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")data1["upd_date"] = now_time# trimdata1["chinese_attr"] = data1["chinese_attr"].str.strip()data1["radical_full"] = data1["radical_full"].str.strip()data1["radical_abbr"] = data1["radical_abbr"].str.strip()data1["vers_no"] = data1["vers_no"].str.strip()data1["oper_indv"] = data1["oper_indv"].str.strip()# set operatordata1["oper_indv"] = "admin"# dataframe类型转换为IO缓冲区中的str类型output = StringIO()# sep : set split columndata1.to_csv(output, sep='\t', index=False, header=False)output1 = output.getvalue()conn = psycopg2.connect(host="10.0.0.10", user = "postgres", password = "123456", database ="postgres" )cur = conn.cursor()cur.copy_from(StringIO(output1), "tableName")conn.commit()cur.close()conn.close()print('done')

问题:

1.删除第一行标题

# drop first line
df= df.drop([0])

2.KeyError: 'chinese_attr'

检查原Excel的表头是否包含,报错的列名

可以用 print(df.head()) 查看原表头

3.psycopg2.DataError: extra data after last expected column

原因:Excel文本中有空格,导致 to_csv 分列时候,分出了多余的列。

# sep 修改分隔符为其他生僻的字段中不可能出现的分隔符
data1.to_csv(output, sep='\t', index=False, header=False)

解决办法:

把文本列trim一下

# trim
data1["chinese_attr"] = data1["chinese_attr"].str.strip()
data1["radical_full"] = data1["radical_full"].str.strip()
data1["radical_abbr"] = data1["radical_abbr"].str.strip()
data1["vers_no"] = data1["vers_no"].str.strip()
data1["oper_indv"] = data1["oper_indv"].str.strip()

http://www.ppmy.cn/news/242633.html

相关文章

基于个人需求定制的prompt——chatGPT接口批量处理Excel数据并保存

文章目录 API的申请和库的安装调用思路主函数——负责chatGPT接口处理数据工具函数(test.py)——负责读取Excel数据和prompt拼接,返回给主函数API的申请和库的安装 参考之前博客 https://blog.csdn.net/qq_41517071/article/details/129782471 调用思路 解耦合的思路,分为…

实战演练 | 在 Navicat 16 中创建视图

为了规范化数据库表,常常会将高级别表中的冗余列抽取到单独的子表中。这通常是由于某些字段与父实体具有一对多关系而发生的。例如,请参考以下使用 Navicat Data Modeler 生成的模型: 评估最初是 ups 表的一部分,但这导致了数据冗…

基于html+css的图展示110

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

Linux系统下安装配置 Nginx 详细教程介绍

Linux系统下安装配置 Nginx 详细教程介绍 一、下载 Nginx 安装包 打开Nginx官网 :nginx: download 然后我们找到一个版本,把鼠标移动到上面,右键 - 复制链接地址 我们使用 wget 命令把Nginx安装包下载到/usr/local/目录中 安装wget yum…

laravel 消息通知实现

PS:本次主要记录一下laravel 自带的消息通知Notification的实现 1.生成数据库,可以使用迁移 在项目目录下的cmd中运行 artisan命令 php artisan notifications:table php artisan migrate 在user表里增加一个notification_count 字段,记录未读通知数量php artisan make:not…

记一次使用Chat-GPT3.5和Chat-GPT4进行的K8s运维工程师模拟面试

记一次使用Chat-GPT3.5和Chat-GPT4进行的K8s运维工程师模拟面试 目录 记一次使用Chat-GPT3.5和Chat-GPT4进行的K8s运维工程师模拟面试前言ChatCPT-3.5ChatGPT-4结论 前言 感谢我的怨种朋友倾力赞助我升级成GPT4。我也有幸使用GPT4进行了一次关于K8s运维工程师的模拟面试。结合…

完美解决safari、微信浏览器下拉回弹效果、包含微信小程序 webview 套H5页面下拉效果。

如题,解决微信小程序、公众号 下拉回弹橡皮筋效果, 屏蔽掉 “此网页由XXXXX提供”; // 禁止页面上下整体滑动 document.body.style.overflow "hidden"

Android手机 全面屏(18:9屏幕)适配指南

Android手机 全面屏(18:9屏幕)适配指南 点击打开链接 从小米MIX 1发布以来,越来越多所谓“全面屏”手机发布,如三星S8,小米MIX2,VIVO X20,Google Pixel2等等...2017年下半年开始&am…