txt2db
时间:2021-05-21
本文章向大家介绍txt2db,主要包括txt2db使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
code
#!/usr/bin/python3
import os
import csv
import sqlite3
curDir = os.getcwd()
class Txt2Db:
def startLoad(self):
# open the database
self.connection = sqlite3.connect('xx.db')
self.cursor = self.connection.cursor()
def endLoad(self):
self.connection.commit()
self.connection.close()
def load(self, file_dir):
for root, dirs, files in os.walk(file_dir):
for i in range(len(files)): # 当前路径下所有非目录子文件
head = os.path.splitext(files[i])[0]
tail = os.path.splitext(files[i])[1]
if tail == '.txt':
if head[0:4] == 'tra-':
self.loadJsonFile(files[i])
def loadJsonFile(self, fileName):
oriTableName = os.path.splitext(fileName)[0]
tableName = "[" + oriTableName + "]"
# drop table
sql = "DROP TABLE IF EXISTS" + tableName
self.cursor.execute(sql)
# create table
sql = "CREATE TABLE" + tableName + \
"(offset int PRIMARY KEY,json Text);"
self.cursor.execute(sql)
# drop index
# sql = "DROP INDEX IF EXISTS offset_index;"
# cursor.execute(sql)
# connection.commit()
# create index
indexName = "index_" + oriTableName.split('-')[1]
sql = "CREATE INDEX " + indexName + " ON " + tableName + "(offset)"
self.cursor.execute(sql)
self.connection.commit()
# Load the CSV file into CSV reader
csvfile = open(fileName, 'r')
creader = csv.reader(csvfile, delimiter='\t', quotechar='"')
# Iterate through the CSV reader, inserting values into the database
for t in creader:
sql = "INSERT INTO" + tableName + "VALUES (?,?)"
self.cursor.execute(sql, t)
# Close the csv file, commit changes, and close the connection
csvfile.close()
txt2Db = Txt2Db()
txt2Db.startLoad()
txt2Db.load(curDir)
txt2Db.endLoad()
原文地址:https://www.cnblogs.com/kk0716/p/14792372.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- hive的group by与distinct的区别及性能测试比较
- hive的order by操作
- centos安装mysql-server报错:No package mysql-server available.
- Java的内部类详解(结合代码全面分析)
- jdk8安装及环境变量配置
- 使用MA Anderson御用软件SpliceSeq对TCGA数据库的RNA-seq找可变剪切
- Tomcat9安装配置、服务配置开机自启动以及启动窗口的中文乱码问题解决
- Java的System.exit()详解
- Hadoop伪分布式搭建(hadoop2.x通用)
- R语言tryCatch使用方法:判断Warning和Error
- leetcode1546题解【前缀和+贪心】
- leetcode560题解【前缀和+哈希】
- 5秒解决:VMware Workstation 与 Hyper-V 不兼容
- Java的访问控制符详解(结合代码演示)
- Python贪吃蛇小游戏_完整源码免费分享