日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

用python将word文档导入数据库_python读取word文档,插入mysql数据库的示例代码

發(fā)布時(shí)間:2024/7/23 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用python将word文档导入数据库_python读取word文档,插入mysql数据库的示例代码 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

表格內(nèi)容如下:

1、實(shí)現(xiàn)批量導(dǎo)入word文檔,取文檔標(biāo)題中的數(shù)字作為編號(hào)

2、除取上面打鉤的內(nèi)容需要匹配出來入庫入庫,其他內(nèi)容全部直接入庫mysql

# wuyanfeng

# -*- coding:utf-8 -*-

# 讀取docx中的文本代碼示例

import docx

import pymysql

import re

import os

# 創(chuàng)建數(shù)據(jù)庫鏈接

conn = pymysql.connect(

host='rm-bp1vu5d84dg12c6d59o.mysql.rds.aliyuncs.com',

port=3306,

user='root',

passwd='wYf092415*',

db='pays',

charset='utf8',

)

# 創(chuàng)建游標(biāo)

cursor = conn.cursor()

#切片函數(shù)

def section(info,key,len11):

a = len(info)

print(a, type(a))

d = []

e = 0

g = -1

i = 0

task_class=[]

while i < len(info):

# for i in range(len(info)):

# i+=1

print("i::::", i)

try:

#c = info.index("a", e)

#print("c:::::", c)

c = info.index(key, e)

#print("c:::::", c)

print("c類型判斷",type(c))

except ValueError:

print(ValueError)

try:

if (c != '') & (g < int(c)):

d.append(c)

g = c

i = c + 1

print("illlldddd:", i)

e = c + 1

continue

elif (c == ''):

break

except UnboundLocalError:

print(UnboundLocalError)

return task_class

break

print("d", d, type(d))

print(d[0], type(d[0]))

print("d的長度:",len(d))

#開始切片

if len(d) != 0:

for j in range(len(d)):

print("info11:::", info, type(info))

info = ''.join(info)

print("info222:::",info,type(info))

print("d[%d]"%j,d[j])

#print("d[j]:5"%j,info[d[j]:5])

llll = info[d[j]+1:d[j]+5]

print("d[%d]:5" % j, llll)

task_class.append(llll)

print("task_class::11", task_class)

task_class=",".join(task_class)

print("str1112222",task_class)

return task_class

def insettable(file):

print("file::::::::::::::::::::", file)

print("type::::::::::::::::::::", type(file))

# file1 = file

# file1 = str(file1)

ddd = re.findall("知識(shí)庫\\\(\d+)", file)

print("ddd:::::::::::", ddd)

print("ddd[0]:::", ddd[0])

ddd = int(ddd[0])

print("ddd::::", type(ddd))

file = docx.Document(file)

# 讀取表格:

t = file.tables[0]

print(t)

print("1:", t.cell(0, 0).text) # 1

cell1 = t.cell(0, 0).text

print("tyep::::", type(t.cell(0, 0).text))

print("2:", t.cell(0, 1).text) # 2

cell2 = t.cell(0, 1).text

print("2:", t.cell(0, 2).text) # 2

cell3 = t.cell(0, 2).text

print("2:", t.cell(0, 3).text) # 2

cell4 = t.cell(0, 3).text

print("cell4:::::::::", cell4)

print("3:", t.cell(1, 0).text) # 3

cell5 = t.cell(1, 0).text

print("4:", t.cell(1, 2).text) # 4

cell6 = t.cell(1, 2).text

print("5:", t.cell(1, 3).text) # 5

task_type = t.cell(1, 3).text

# task_type = re.findall('.*[?√](.*)$', cell7)

# task_type = ''.join(cell7)

print("task_type111111:", task_type)

# task_class = task_class[0:4]

'''低級(jí)處理方式

a = int(task_type.count("?"))

print("a|||||||", a, type(a))

b = int(task_type.count("√"))

print("b|||||||", b, type(a))

if (a == 1) | (b == 1):

print("111111111111111111")

# task_type = re.findall('.*[?√](.*)$', task_type)

task_type = re.findall('.*[?√](.*)$', task_type)

print("task_type1", task_type)

task_type = ''.join(task_type)

print("task_type2", task_type)

task_type = task_type[0:4]

print("task_type3:d:%s,b=%d" % (a, b), task_type)

elif (a == 0) & (b == 0):

print("2222222222222222222")

task_type = '法定職責(zé)'

print("a:%s,b=%s" % (a, b), task_type)

elif (a == 2) | (b == 2):

print("333333333333333333333")

task_type = '法定職責(zé),工作職責(zé) '

print("a:%s,b=%s" % (a, b), task_type)

'''

#調(diào)用切片函數(shù)

task_type1 = section(task_type, "√", 4)

task_type2 = section(task_type, "?", 4)

task_type1 = "".join(task_type1)

task_type2 = "".join(task_type2)

print("task_type1:::", task_type1,type(task_type1))

print("task_type2:::", task_type2,type(task_type2))

if task_type1.strip()!="":

task_type = task_type1

print("task_type111:::", task_type1)

elif task_type2.strip()!="":

task_type = task_type2

print("task_type222:::", task_type2)

print("6:", t.cell(1, 4).text) # 6

cell8 = t.cell(1, 4).text

print("7:", t.cell(2, 1).text) # 7

cell9 = t.cell(2, 1).text

# 獲取文檔對(duì)象

# file = docx.Document("D:\\配置庫\\公案APP\\1.2 系統(tǒng)規(guī)格\\知識(shí)庫\\14人員死亡先期處置.docx")

print("段落數(shù):" + str(len(file.paragraphs))) # 段落數(shù)為13,每個(gè)回車隔離一段

lenn = len(file.paragraphs)

print("len:", lenn)

# 輸出每一段的內(nèi)容

for para in file.paragraphs:

print(para.text)

# 輸出段落編號(hào)及段落內(nèi)容

for i in range(len(file.paragraphs)):

print("第" + str(i) + "段的內(nèi)容是:" + file.paragraphs[i].text)

list6 = []

for i in range(len(file.paragraphs)):

if 0 == i:

print("i:", i)

lis0 = file.paragraphs[i].text

print("list0:", lis0)

print(type(lis0))

elif 1 == i:

print("i:", i)

task_class = file.paragraphs[i].text

print("lis1", task_class,type(task_class))

'''低級(jí)處理方式

print("task_class111111:", task_class)

c = int(task_class.count("?"))

task_class = ''.join(task_class)

#print(task_class.index('?'))

print("c|||||||", c, type(c))

d = int(task_class.count("√"))

print(task_class.index('√'))

print("d|||||||", d, type(d))

task_class = re.findall(r'[?√](?:.*)', task_class)

task_class = ''.join(task_class)

task_class = task_class[1:5]

print("task_class", task_class)

'''

#調(diào)用切片函數(shù)

task_class1 = section(task_class, "√", 4)

task_class2 = section(task_class, "?", 4)

task_class1 = "".join(task_class1)

task_class2 = "".join(task_class2)

print("task_class1:::", task_class1,type(task_class1))

print("task_class2:::", task_class2,type(task_class2))

if task_class1.strip()!="":

task_class = task_class1

print("task_class11:::", task_class1)

elif task_class2.strip()!="":

task_class = task_class2

print("task_class22:::", task_class2)

if 2 == i:

print("i:", i)

lis2 = file.paragraphs[i].text

print("lis2", lis2)

print(type(lis2))

preparer = re.findall('填表單位:(.*?)$', lis2)

preparer = ''.join(preparer)

print("preparer:%s" % preparer)

# elif 3 == i:

# print("i:", i)

# lis3 = file.paragraphs[i].text

elif 3 == i:

print("i:", i)

lis4 = file.paragraphs[i].text

print("lis4", lis4)

print(type(lis4))

elif 3 < i < lenn - 1:

print("i:", i)

print(file.paragraphs[i].text)

print(type(file.paragraphs[i].text))

# list6[i-5] = list6.append(file.paragraphs[i].text)

list6.append(str(file.paragraphs[i].text).strip('\xa0'))

# list6.append("%s\n" % str(file.paragraphs[i].text).strip('\xa0'))

print(list6)

key_steps = "\n".join(list6)

# print("key_steps:\n",key_steps.strip('\n'))

cursor.execute(

"insert into `t_knowledge_base` (`no`, `preparer`, `task_class`, `task_name`, `task_specification`, `task_type`, `task_desc`, `task_basis`, `key_steps`) values ('%d','%s','%s','%s','%s','%s','%s',NULL,'%s')" % (

ddd, preparer, task_class, cell2, cell4, task_type, cell9, key_steps))

conn.commit()

def traverse(f):

fs = os.listdir(f)

for f1 in fs:

tmp_path = os.path.join(f, f1)

if not os.path.isdir(tmp_path):

print('文件: %s' % tmp_path)

insettable(tmp_path)

else:

print('文件夾:%s' % tmp_path)

traverse(tmp_path)

path = 'D:\\配置庫\公案APP\\1.2 系統(tǒng)規(guī)格\\知識(shí)庫'

traverse(path)

#單文件調(diào)測

# path = 'D:\\配置庫\\公案APP\\1.2 系統(tǒng)規(guī)格\\知識(shí)庫\\14人員死亡先期處置.docx'

# insettable(path)

# 關(guān)閉游標(biāo)

cursor.close()

# 關(guān)閉連接

conn.close()

以上這篇python讀取word文檔,插入mysql數(shù)據(jù)庫的示例代碼就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持我們。

本文標(biāo)題: python讀取word文檔,插入mysql數(shù)據(jù)庫的示例代碼

本文地址: http://www.cppcns.com/shujuku/mysql/243780.html

總結(jié)

以上是生活随笔為你收集整理的用python将word文档导入数据库_python读取word文档,插入mysql数据库的示例代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。