前段时间做小项目的时候遇到了一个需求:把txt文档的数据导入到mysql数据库中,开始本来想直接用Mysql Workbench导入TXT文件,但是最后发现不支持TXT导入,结果我吧嗒吧嗒的去把TXT转了Excel,拿到Linux上导入的时候又发现了各种乱码问题。抱着没有什么是程序员干不了的原则,我手写了一个Python代码直接操作文件进行导入了。结果大概一万多条的文件,导入时间大概两分钟。

下面是具体的代码:mysqlpython.py文件:  自定义的连接mysql数据库的类

importtxt.py文件: 读TXT文件并进行插入操作

dict.txt文件: 要操作的TXT文件

mysqlpython.py文件

Linux系统下如何将txt文档导入到数据库mysql的方法教程

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51from 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 result

if __name__ == "__main__":

sqlh = Mysqlpython("dictionary")

sel = "select * from user"

r = sqlh.all(sel)

print(r)

importtxt.py文件

Linux系统下如何将txt文档导入到数据库mysql的方法教程

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23import 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文件(我复制了几条文件)

1

2

3

4

5

6

7

8

9a    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)

针对不同的分隔符修改一下正则表达式即可。全部代码都贴上去了,直接复制修改下数据库的配置就可以运行了。

总结:

以上就是Linux系统下如何将txt文档导入到数据库mysql的方法教程,更多请持续关注数据吧资讯,每天更新服务器相关技术资讯。

linux文本文件导入数据库,Linux系统下如何将txt文档导入到数据库mysql的方法教程...相关推荐

  1. 如何快速清理笔记本电脑中的系统垃圾及合并TXT文档

    要轻松流畅上网你是否注意到你的电脑系统磁盘的可用空间正在一天天在减少呢?是不是像老去的猴王一样动作一天比一天迟缓呢?下面格莱富就说说如何快速清理笔记本中的电脑垃圾. 新建记事本 我们知道在Window ...

  2. 将excel导入到页面表格_如何将Excel文档导入Google表格

    将excel导入到页面表格 Did someone send you an Excel document, but you don't have Excel? Giving up on Microso ...

  3. qt连接mysql数据库 mac_Mac系统下Qt 4.8编译连接数据库(Oracle,MySql)

    在Mac下成功编译了MySql和Oracle的数据库插件驱动,但遗憾的是在程序中无论如何也加载不了这两个驱动,也无法连接数据库.在环境变量中设置QT_DEBUG_PLUGINS=1, 再启动程序后Qt ...

  4. linux下如何编辑txt文档

    利用vi命令 [root@bogon a]# vi a.txt   打开a.txt文档 vi a.txt后,键盘敲i,可以进入编辑模式, 输入完内容后按ESC键,键盘输入  :wq   可以保存并退出 ...

  5. 如何将txt文档插入sql2000数据库

    方法一: 建立存储过程  BULK   INSERT   Northwind.dbo.[Order   Details]           FROM   'temp.txt'           W ...

  6. python读取doc文件_Linux 下Python 读取Word文档内容的方法

    如果你是在Windows下, 直接使用win32com就可以进行读取word.doc文档和写入文档了. 但是在Linux下还真是麻烦, 一种方法是用OpenOffice的一个库来进行操作,那么意味这你 ...

  7. 百度编辑器导入word插件,支持带图片文档导入

    Laravel.thinkPHP框架需要先安装PHPword,需要用PHPword扩展将word转化成html.该插件主要由两部分组成:编辑器上传word插件和文档转换功能代码,最重要的是文档转换代码 ...

  8. 如何在Linux系统下的IntelliJ IDEA 2018.3.5下载与安装以及激活教程

    如何在Linux系统下的IntelliJ IDEA 2018.3.5下载与安装以及激活教程 作者:张国军_Suger 开发工具与关键技术:VMware Workstation Pro.Linux系统( ...

  9. Linux、Mac、windows 系统下 配置Python虚拟环境 virtualenvwrapper教程,workon切换环境, 非常简单方便

    前言 开发及测试过程中每个环境都有各自的作用,避免破坏其他环境所以建议每个项目新建一个虚拟环境,经过对比最终我选择了virtualenvwrapper来作为我开发中虚拟环境管理工具,接下来一起来看一下 ...

最新文章

  1. 微信服务号、公众号、企业号注册
  2. ai为什么要栅格化_三大优势告诉你,为什么一定要加盟AI定制家居
  3. javaScript 工作必知(三) String .的方法从何而来?
  4. 计算机组成原理名词解释常用,2018考研408计算机组成原理名词解释(3)
  5. 十四、linux 静态/动态申请字符设备号
  6. 画直线_在鸡的面前画直线,鸡为什么会晕呢,西瓜视频带你揭秘
  7. 自动化测试8大元素定位之xpath语法
  8. Codeup-问题 B: 采药
  9. 不借助 Fiori client,直接在手机浏览器里调用 SAP UI5 BarcodeScanner 实现条形码扫描的可能性?
  10. CPU上跑深度学习模型,FPS也可以达100帧
  11. HDFS使用流的方式上传下载
  12. SAP License:如何用Coding Block
  13. 检测 USB 设备拨插的 C# 类库:USBClassLibrary
  14. rsyslog官方文档
  15. Linux学习总结(1)——Linux命令大全完整版
  16. Gradient Boosting算法简介(有python列子)
  17. element-ui+vue,翻页添加首页、尾页跳转按钮
  18. 【Android】解决aab上传Google Play后下载语言文件缺失的问题
  19. 多系统下的蓝牙设备共用配对问题之LTK、EDIV、ERAND.以 Manjaro、Debian、Windows10 为例
  20. 微信小程序-从相册获取图片,视频 使用相机拍照,录像上传+服务器(nodejs版)接收

热门文章

  1. CAD2021安装教程-软仓
  2. 如何解决三菱伺服电机上常见报警代码
  3. 最新发布:2022斯坦福AI指数报告
  4. svm对未知数据的分类_SVM对sklearn自带手写数字数据集进行分类
  5. 解读5类成功短视频自媒体的运营套路
  6. cesium 之自定义气泡窗口 infoWindow 后续优化篇(附源码下载)
  7. 质感微立体年终汇报PPT-朴尔PPT
  8. 如何在服务器上挂载固态硬盘
  9. EXCEL解密打开密码
  10. Linux常见基础指令详解