python读取本地文件夹下所有文件并插入数据库

本篇博客介绍了一个Python脚本,该脚本能够批量读取指定文件夹下的所有文件内容,并使用正则表达式提取相关信息,最终将数据插入到MySQL数据库中。此过程涉及文件操作、正则表达式的使用及数据库交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#_*_ coding:UTF-8 _*_
import sys,io,os,re
import MySQLdb
def VisitDir(path):
  pathlen=[]
  for root,dirs,files in os.walk(path):
    for filespath in files:
        s=os.path.join(root,filespath)
        pathlen.append(s)
  return pathlen

def addItem(uci,talk_time,content,spider_time,name,majia):
  try:
    value=[]
    value.append(uci)
    value.append(talk_time)
    value.append(content)
    value.append(spider_time)
    value.append(name)
    value.append(majia)
    sql='insert into qq(UIN,SEND_TIME,CONTENT,SPIDER_TIME,GROUP_UIN,MAJIA) values(%s,%s,%s,%s,%s,%s)'
    try:
        cur.execute(sql,value)
        conn.commit()
    except Exception,e:
        print e
        pass;
  except MySQLdb.Error,e:
    print e
    sys.exit(1)
path=r"C:\Users\hexu\Desktop\20160520"
pathall=VisitDir(path)
conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',db='test',port=3306)
for i in range(0,len(pathall)-1):
    print pathall[i]
    size=os.path.getsize(pathall[i])
    pattern=re.compile(r'\d*(?=\\mr)')
    matche=pattern.search(pathall[i])
    majia=matche.group(0)
    pattern=re.compile(r'(?<=Desktop\\)\d{8}')
    matche=pattern.search(pathall[i])
    spider_time=matche.group(0)
    pattern=re.compile(r'(?<=mr_troop_).*')
    matche=pattern.search(pathall[i])
    name= matche.group(0)
    f = open(pathall[i], "r")
    cur=conn.cursor()
    conn.set_character_set('utf8')
    for line in f:
        content=line.split("\t");
        addItem(content[0],content[1],content[2],spider_time,name,majia);
cur.close()
conn.close()
f.close()

该代码实现读取C:\Users\hexu\Desktop\20160520文件夹下所有文件的内容,并插入到本地的mysql数据库,其中有的代码是用正则表达式提取相关内容,和本文的主题无关,可以删除。
注:文件的列是用\t分割,行是用\n分割

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值