国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Linux服務器 > 正文

Linux中將txt導入到mysql的方法教程

2024-09-05 23:05:20
字體:
來源:轉載
供稿:網友

前言

昨天寫小項目的時候遇到了一個需求:把txt文檔的數據mysql/9401.html">導入到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 reimport sysfrom mysqlpython import Mysqlpythonsqlh = 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 oneabacus   n.frame with beads that slide along parallel rods, used for teaching numbers to children, and (in some countries) for countingabandon   v. go away from (a person or thing or place) not intending to return; forsake; desertabandonment  n. abandoningabase   v. ~ oneself/sb lower oneself/sb in dignity; degrade oneself/sb ;abash   to destroy the self-possession or self-confidence of:disconcertabashed   adj. ~ embarrassed; ashamedabate   v. make or become lessabattoir   n. = slaughterhouse (slaughter)

針對不同的分隔符修改一下正則表達式即可。全部代碼都貼上去了,直接復制修改下數據庫的配置就可以運行了。

總結:

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阳谷县| 康保县| 大新县| 铜山县| 佳木斯市| 德兴市| 汕尾市| 思南县| 青田县| 修水县| 鹤壁市| 孝昌县| 宜州市| 洪江市| 从化市| 星子县| 和田县| 惠州市| 新建县| 镇宁| 益阳市| 梁河县| 泰安市| 白河县| 秦皇岛市| 平昌县| 中宁县| 普兰店市| 自治县| 色达县| 蒲城县| 府谷县| 涞源县| 武强县| 岗巴县| 镇雄县| 二连浩特市| 宁远县| 潼南县| 江北区| 淮阳县|