婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > Linux中將txt導(dǎo)入到mysql的方法教程

Linux中將txt導(dǎo)入到mysql的方法教程

熱門標(biāo)簽:寧波400電話辦理對(duì)企業(yè)的意義 西柏坡地圖標(biāo)注 i智能電話機(jī)器人yeta 北京人工外呼系統(tǒng)廠家 燃?xì)夤芫€地圖標(biāo)注顏色 話術(shù)外呼系統(tǒng) 哈爾濱400電話去哪辦理 400電話申請(qǐng)要什么條件 廣東如何申請(qǐng)400電話

前言

昨天寫小項(xiàng)目的時(shí)候遇到了一個(gè)需求:把txt文檔的數(shù)據(jù)導(dǎo)入到mysql數(shù)據(jù)庫中,開始本來想直接用Mysql Workbench導(dǎo)入TXT文件,但是最后發(fā)現(xiàn)不支持TXT導(dǎo)入,結(jié)果我吧嗒吧嗒的去把TXT轉(zhuǎn)了Excel,拿到Linux上導(dǎo)入的時(shí)候又發(fā)現(xiàn)了各種亂碼問題。

抱著沒有什么是程序員干不了的原則,我手寫了一個(gè)Python代碼直接操作文件進(jìn)行導(dǎo)入了。結(jié)果大概一萬多條的文件,導(dǎo)入時(shí)間大概兩分鐘。

下面是具體的代碼:

  • mysqlpython.py文件:  自定義的連接mysql數(shù)據(jù)庫的類
  • importtxt.py文件: 讀TXT文件并進(jìn)行插入操作
  • 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
  

 # 創(chuàng)建數(shù)據(jù)連接和游標(biāo)對(duì)象
 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()

 # 關(guān)閉游標(biāo)對(duì)象和數(shù)據(jù)庫連接對(duì)象
 def close(self):
  self.cur.close()
  self.db.close()

 # 執(zhí)行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文件

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文件(我復(fù)制了幾條文件)

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)

針對(duì)不同的分隔符修改一下正則表達(dá)式即可。全部代碼都貼上去了,直接復(fù)制修改下數(shù)據(jù)庫的配置就可以運(yùn)行了。

總結(jié):

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

標(biāo)簽:張家口 巴中 開封 阜陽 湘潭 珠海 西藏 襄陽

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux中將txt導(dǎo)入到mysql的方法教程》,本文關(guān)鍵詞  Linux,中將,txt,導(dǎo)入,到,mysql,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux中將txt導(dǎo)入到mysql的方法教程》相關(guān)的同類信息!
  • 本頁收集關(guān)于Linux中將txt導(dǎo)入到mysql的方法教程的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 甘德县| 临洮县| 噶尔县| 奇台县| 金川县| 甘南县| 吉林省| 濮阳县| 石家庄市| 长泰县| 庆云县| 绍兴市| 尤溪县| 绥宁县| 顺昌县| 罗源县| 云霄县| 家居| 大石桥市| 古田县| 南开区| 鸡泽县| 丹阳市| 松原市| 宜丰县| 诸暨市| 保康县| 津市市| 原平市| 沙田区| 邛崃市| 达孜县| 华池县| 高州市| 高碑店市| 南京市| 区。| 句容市| 洛南县| 开远市| 兴宁市|