校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Linux中將txt導入到mysql的方法教程

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

熱門標簽:寧波400電話辦理對企業的意義 西柏坡地圖標注 i智能電話機器人yeta 北京人工外呼系統廠家 燃氣管線地圖標注顏色 話術外呼系統 哈爾濱400電話去哪辦理 400電話申請要什么條件 廣東如何申請400電話

前言

昨天寫小項目的時候遇到了一個需求:把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 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文件(我復制了幾條文件)

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)

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

總結:

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

標簽:張家口 巴中 開封 阜陽 湘潭 珠海 西藏 襄陽

巨人網絡通訊聲明:本文標題《Linux中將txt導入到mysql的方法教程》,本文關鍵詞  Linux,中將,txt,導入,到,mysql,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Linux中將txt導入到mysql的方法教程》相關的同類信息!
  • 本頁收集關于Linux中將txt導入到mysql的方法教程的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 达尔| 普宁市| 通城县| 瑞丽市| 威海市| 子洲县| 恩平市| 大新县| 黔南| 阿勒泰市| 南昌县| 深水埗区| 峨边| 垣曲县| 利川市| 沙坪坝区| 同江市| 始兴县| 林州市| 斗六市| 桑日县| 白山市| 遵化市| 黄陵县| 永安市| 华阴市| 汕尾市| 林周县| 阳泉市| 论坛| 阿图什市| 中阳县| 北辰区| 东安县| 怀宁县| 米泉市| 铁岭市| 汉源县| 孟州市| 云阳县| 沭阳县|