python第五篇:Linux上将txt导入mysql
昨天写小项目的时候遇到了一个需求:把txt文档的数据导入到mysql数据库中,开始本来想直接用Mysql Workbench导入TXT文件,但是最后发现不支持TXT导入,结果我吧嗒吧嗒的去把TXT转了Excel,拿到Linux上导入的时候又发现了各种乱码问题。
抱着没有什么是程序员干不了的原则,我手写了一个Python代码直接操作文件进行导入了。结果大概一万多条的文件,导入时间大概两分钟。
下面是具体的代码:
- mysqlpython.py文件: 自定义的连接mysql数据库的类
- importtxt.py文件: 读TXT文件并进行插入操作
- dict.txt文件: 要操作的TXT文件
mysqlpython.py文件
from pymysql import *class Mysqlpython: def __init__(self,database,host="localhost", user="root",password="123456", charset="utf8",port=3306): self.database = database self.host = host self.user = user self.password = password self.charset = charset self.port = port # 创建数据连接和游标对象 def open(self): self.db = connect(host=self.host, user=self.user, password=self.password, port=self.port, database=self.database, charset=self.charset) self.cur = self.db.cursor()# 关闭游标对象和数据库连接对象 def close(self): self.cur.close() self.db.close()# 执行sql命令 def zhixing(self,sql,L=[]): self.open()self.cur.execute(sql,L) self.db.commit()self.close()# 查询功能 def all(self,sql,L=[]): self.open() self.cur.execute(sql,L) result = self.cur.fetchall() return resultif __name__ == "__main__": sqlh = Mysqlpython("dictionary") sel = "select * from user" r = sqlh.all(sel) print(r)
importtxt.py文件
import re import sys from mysqlpython import Mysqlpython sqlh = Mysqlpython("dictionary")def insert(data): arr = data.split() name = arr[0] description = " ".join(arr[1:]) ins = "insert into words(name,description) values(%s,%s)" sqlh.zhixing(ins,[name,description])def get_addr(): f = open('./dict.txt') lines=f.readlines() for line in lines: insert(line) f.close() return ''if __name__ =='__main__': print(get_addr())
dict.py文件(我复制了几条文件)
a indef art one abacus n.frame with beads that slide along parallel rods, used for teaching numbers to children, and (in some countries) for counting abandon v. go away from (a person or thing or place) not intending to return; forsake; desert abandonment n. abandoning abase v. ~ oneself/sb lower oneself/sb in dignity; degrade oneself/sb ; abash to destroy the self-possession or self-confidence of:disconcert abashed adj. ~ embarrassed; ashamed abate v. make or become less abattoir n. = slaughterhouse (slaughter)
针对不同的分隔符修改一下正则表达式即可。全部代码都贴上去了,直接复制修改下数据库的配置就可以运行了。
详细X
转载于:https://www.cnblogs.com/leijing0607/p/7290510.html
python第五篇:Linux上将txt导入mysql相关推荐
- linux mysql批量导入数据,linux怎么快速导入Mysql数据库与导出
linux怎么快速导入Mysql数据库与导出 Era • 2013 年 05 月 19 日 搞了一个vps,最近在学习linux,就记录一些学习的心得吧. 使用phpadmin导入.卖出数据库比较慢不 ...
- ubuntu中,txt导入mysql数据库文件
第一种方式是,在导入的mysql命令中,需要有local选项 newbooks.txt的内容为(字段之间用Tab键隔开): 1111 罗琳 哈利波特 50 ------------- ...
- 【嵌入式Linux学习七步曲之第五篇 Linux内核及驱动编程】PowerPC + Linux2.6.25平台下的I2C驱动架构分析
PowerPC + Linux2.6.25平台下的I2C驱动架构分析 Sailor_forever sailing_9806#163.com (本原创文章发表于Sailor_forever 的个人b ...
- 【嵌入式Linux学习七步曲之第五篇 Linux内核及驱动编程】PowerPC + Linux2.6.25平台下的SPI驱动架构分析
PowerPC + Linux2.6.25平台下的SPI驱动架构分析 Sailor_forever sailing_9806#163.com (本原创文章发表于Sailor_forever 的个人b ...
- 【嵌入式Linux学习七步曲之第五篇 Linux内核及驱动编程】Oops在Linux 2.6内核+PowerPC架构下的前世今生
Oops在Linux 2.6内核+PowerPC架构下的前世今生 Sailor_forever sailing_9806#163.com (本原创文章发表于Sailor_forever 的个人blo ...
- 【嵌入式Linux学习七步曲之第五篇 Linux内核及驱动编程】Linux信号机制分析
Linux信号机制分析 Sailor_forever sailing_9806@163.com 转载请注明 http://blog.csdn.net/sailor_8318/archive/2008 ...
- 【嵌入式Linux学习七步曲之第五篇 Linux内核及驱动编程】Linux内核抢占实现机制分析
Linux内核抢占实现机制分析 Sailor_forever sailing_9806@163.com 转载请注明 http://blog.csdn.net/sailor_8318/archive/ ...
- 【Linux从青铜到王者】第五篇:Linux进程概念第一篇
系列文章目录 文章目录 系列文章目录 前言 一.冯诺依曼体系结构 二.操作系统 1.操作系统的概念 2.操作系统的目的 3.操作系统的定位 4.如何理解管理 5.操作系统总结 6.系统调用和库函数概念 ...
- 【Linux从青铜到王者】第十五篇:Linux网络编程套接字两万字详解
系列文章目录 文章目录 系列文章目录 前言 一.网络数据的五元组信息 1.理解源IP地址和目的IP地址 2.理解 "端口号" 和 "进程ID" 3.理解源端口号 ...
- txt 导入 mysql python_Python导入txt数据到mysql的方法
本文实例讲述了Python导入txt数据到mysql的方法.分享给大家供大家参考.具体分析如下: 从TXT文本转换数据到MYSQL数据库,接触一段时间python了 第一次写东西 用的是Python2 ...
最新文章
- Windows Nano Server安装配置详解07:部署IIS
- ListView中的图片异步加载、缓存
- Codeforces 1153 C Serval and Parenthesis Sequence
- Problem E: 平面上的点——Point类 (II)
- 如何让自己的内心强大起来
- 程序员面试、算法研究、编程艺术、红黑树4大系列集锦与总结
- 结对项目——最大子数组
- ListObject 多条件去重
- Java线程池ThreadPoolExecutor源码分析
- 最新emoji表情代码大全_10月最新早上好问候语表情图片大全,朋友们大家早上好表情包!...
- Python实现毫秒级抢单,6翻了!
- oracle中if语句用法,Oracle IF语句的使用 | 学步园
- 百度快照劫持的解决方法
- 刷新bios后电脑死机了怎么办
- c语言中断函数作用,进一步理解中断函数
- 公历与儒略日的相互转化
- Opencv配置常见问题:
- 英语--日常生活名词收集 Daily Life Nouns Collection
- 关于7Z自解压文件拆分,读取条目,复写,合并的功能
- 软件研发类应届毕业生培养考核的三个阶段