目录

一、读取 csv 文件

二、创建数据库链接

三、读取 csv 数据并插入到数据库


一、读取 csv 文件

Python:使用 csv 模块读写 csv 文件

二、创建数据库链接

# -*- coding: utf-8 -*-import sqlalchemy
import sqlalchemy.orm as orm
from sqlalchemy.ext.declarative import declarative_baseBase = declarative_base()class Record(Base):__tablename__ = 'files'id = sqlalchemy.Column(sqlalchemy.Integer, primary_key=True, autoincrement=True)name = sqlalchemy.Column(sqlalchemy.String(256), nullable=True)size = sqlalchemy.Column(sqlalchemy.BigInteger, nullable=True)path = sqlalchemy.Column(sqlalchemy.String(256), nullable=True)mtime = sqlalchemy.Column(sqlalchemy.DateTime, nullable=True)def __init__(self, filename, filesize, filepath, filemt):'''"名称","大小","路径","修改时间"'''self.name = filenameself.size = int(filesize)self.path = filepathself.mtime = filemtdef get_session():engine = sqlalchemy.create_engine ("postgresql://postgres:064f0901-c561-44b9-a4bb-a893d23cc505@127.0.0.1/dogdb")metadata = sqlalchemy.schema.MetaData(bind=engine)Base.metadata.create_all(engine)Sess = orm.sessionmaker(bind=engine)session = Sess()return session

三、读取 csv 数据并插入到数据库

def store_to_db(filename):session = get_session() # 使用 get_session() 函数获取 sessionwith open(filename, 'r') as f:reader = csv.reader(f)header_row = next(reader)cnt = 0;for line in reader:record = Record(line[0], line[1], line[2], line[3])try:session.add(record)cnt += 1if cnt % 1000 == 0:session.commit()except sqlalchemy.exc.PendingRollbackError:session.rollback()session.add(record)except Exception as e:print(e)breaksession.commit()session.close()if "__main__" == __name__:filename = sys.argv[1]store_to_db(filename)

运行脚本:

$ python insert-files.py files.csv

查看数据库中的数据:

[select id,name,mtime from files order by id]id |       name        |        mtime
----+-------------------+---------------------1 | Security.evtx     | 2021-02-24 07:23:482 | MRT.exe           | 2017-12-24 21:45:483 | MRT-KB890830.exe  | 2017-12-24 21:45:504 | NvCplSetupInt.exe | 2016-09-12 21:15:305 | SOFTWARE          | 2021-02-20 09:31:276 | SOFTWARE          | 2021-02-21 01:32:167 | SRUDB.dat         | 2021-02-24 21:20:008 | RCORES64.dat      | 2020-04-08 04:44:389 | RCORES64.dat      | 2015-08-04 00:21:5810 | BootCKCL.etl      | 2021-02-20 09:33:51
(10 rows)

Python:读取 csv 文件并插入到 PostgreSQL 数据库相关推荐

  1. python导入csv数据例子-使用python读取csv文件快速插入数据库的实例

    如下所示: # -*- coding:utf-8 -*- # auth:ckf # date:20170703 import pandas as pd import cStringIO import ...

  2. python读取文件并存入mysql_1.python读取txt文件并插入到mysql数据库以及将py脚本文件打包成独立的exe程序...

    读取txt文件并插入到mysql数据库 该小脚本适用于每天生成日志等信息到txt文本,然后通过windows的计划任务定时去执行python脚本打包成的exe文件,并将txt中内容读取以及格式化后插入 ...

  3. python读取csv文件_python3.0读取csv文件

    创建CSV文件,可以打开excel文件,创建表格以后,另存为csv文件(以逗号分隔的文件) 以文本格式打开,发现是用逗号分隔的 用python读取csv文件,首先要引入一个库:csv import c ...

  4. python csv文件复制时的编码问题_使用python读取CSV文件时的编码问题

    尝试使用python读取CSV文件时遇到障碍. 更新:如果只想跳过字符或错误,可以打开文件,如下所示: with open(os.path.join(directory, file), 'r', en ...

  5. 用Python读取CSV文件的5种方式

    典型的数据集stocks.csv: 一个股票的数据集,其实就是常见的表格数据.有股票代码,价格,日期,时间,价格变动和成交量.这个数据集其实就是一个表格数据,有自己的头部和身体. 第一招:简单的读取 ...

  6. python获取股指_用Python读取csv文件中的沪深300指数历史交易数据

    保存路径:D:\python\用Python读取csv文件中的沪深300指数历史交易数据 程序名称:readcsvhs300.py: 数据名称:沪深300指数历史交易数据.csv: 开发环境:Win7 ...

  7. python读取csv文件路径正确但报错FileNotFoundError: [Errno 2] No such file or directory

    项目场景: python读取csv文件路径正确但报错FileNotFoundError: [Errno 2] No such file or directory 问题描述: #储存调用表格.数据 #调 ...

  8. python 读取csv文件 和 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa8 in position问题...

    python 读取csv文件,无法读取第一列的数据,不知道为什么.以后有时间再来研究 import os import csv import jsonfw = open("data_json ...

  9. 记录python读取csv文件

    记录一下python读取文件 在做对比实验的过程当中,往往会遇到很多需要从.csv文件中读取数据的情况,因为做深度学习用的是python,所以下面记录一下使用python读取.csv文件的方法. 读取 ...

最新文章

  1. ON REG EXPRESSION.SYNTAX
  2. 秒懂边缘云 | 边缘云技术进阶
  3. 一名老程序员的一点感悟给未来的程序员
  4. python PEP8规范
  5. Ubuntu各类版本下载地址(网易镜像)
  6. Docker的网络类型及驱动器
  7. 广州数控车床M代码指令讲解
  8. Easypoi 报表模板设置
  9. excel怎么设置自动计算_机械设计工程师辅助计算Excel表格,自动进行选型计算...
  10. 阿里云分布式架构云平台解决方案
  11. 2022年全新UI聚合支付系统四方源码4月最新更新安全升级修复XSS漏洞和补单漏洞新增诸多实用功能完美版
  12. Mybatis之错误:Invalid bound statement (not found)
  13. Ubuntu双系统没有WiFi适配器、不能连接WiFi
  14. OPPOR9plusmA_官方线刷包_救砖包_解账户锁
  15. 华为 畅享5 android,华为畅享5手机评测:青春就要这样长待!
  16. 个人开发者App Store收款
  17. 无线802.1x认证服务器,TP-Link无线路由器+Radius认证服务器实现无线终端802.1X认证...
  18. Ubuntu22.04上安装Xilinix Vivado 2018.3
  19. Maven - 2、安装、配置、mvn运行过程详解
  20. python not in range_python报“30 is not in range”的错误应该如何解决?

热门文章

  1. Magic Mouse2 断开连接的解决方法
  2. python: print end=''参数意思,默认起到换行作用=='\n'
  3. 关于unity打包时出现插件DLL错误: The Assembly UnityEditor is referenced by Population解决方法
  4. Android大杂烩上篇
  5. 齐鲁师范学院计算机专业在那个校区,齐鲁师范学院有几个校区及校区地址 哪...
  6. modbus通信CRC校验代码
  7. 【多传感器融合】激光雷达与相机前融合
  8. Google Maps JavaScript API V3的使用(四)
  9. 台服DNF腾讯云搭建流程
  10. Ubuntu 上使用Dreamweaver 8