python读取csv文件存入数据库(python csv读取)

http://www.itjxue.com  2023-04-02 08:04  来源:未知  点击次数: 

用python提取csv文件内容到数据库

这个脚本可以直接运行,将csv文件放在同级目录即可。

csv第一列需要有列名,如果csv里没有列名,需要在代码中添加列名。

代码运行示例:python insert.py csvname tablename

Python csv模块(读写文件)

CSV文件又称为逗号分隔值文件,是一种通用的、相对简单的文件格式,用以存储表格数据,包括数字或者字符。CSV是电子表格和数据库中最常见的输入、输出文件格式。

通过爬虫将数据抓取的下来,然后把数据保存在文件,或者数据库中,这个过程称为数据的持久化存储。本节介绍Python内置模块CSV的读写操作。

1)csv.writer()

csv模块中的writer类可用于读写序列化的数据,其语法格式如下:

参数说明:

csvfile:必须是支持迭代(Iterator)的对象,可以是文件(file)对象或者列表(list)对象。

dialect:编码风格,默认为excel的风格,也就是使用逗号,分隔。

fmtparam:格式化参数,用来覆盖之前dialect对象指定的编码风格。

如果想同时写入多行数据,需要使用writerrows()方法,代码如下所示:

aggs.csv文件内容:

2)csv.DictWriter()

当然也可使用DictWriter类以字典的形式读写数据,使用示例如下:

name.csv文件内容,如下所示:

1)csv,reader()

csv模块中的reader类和DictReader类用于读取文件中的数据,其中reader()语法格式如下:

2)csv.DictReader()

应用示例如下:

输出结果:

开课吧广场-人才学习交流平台

python如何读取CSV信息存入数据库

class?DBI(object):

????"""database?interface"""

????def?__init__(self,?conn):

????????"""keep?connection"""

????????self._conn?=?conn

????def?store(self,?sql,?data):

????????"""store?data?into?database?with?given?sql"""

????????curr?=?self._conn.cursor()

????????curr.executemany(sql,?data)

????????self._conn.commit()

????????curr.close()

????def?execute(self,?sql,?*args,?**kwgs):

????????"""execute?sql?on?database"""

????????curr?=?self._conn.cursor()

????????curr.execute(sql,?*args,?**kwgs)

????????self._conn.commit()

????????curr.close()

def?ipager(serial,?pagesize):

????"""make?serial?page?by?page"""

????buff?=?[]

????for?row?in?serial:

????????buff.append(row)

????????if?len(buff)?=?pagesize:

????????????send,?buff,?=?buff,?[]

????????????yield?send

????if?len(buff):

????????yield?buff

def?tester():

????import?csv

????import?sqlite3

????

????dbi?=?DBI(sqlite3.connect(database=":memory:"))

????dbi.execute("create?table?tb_tester?(id,?key,?val,?tm)")

????sql="insert?into?tb_tester?values?(?,??,??,??)"

????with?open(todofile,?'rb')?as?handle:

????????for?rows?in?ipager(csv.reader(handle),?512):

????????????dbi.store(sql,?rows)

csv模块是python处理csv类文件的强大工具; 参考

ipager将大数据流按指定大小分页, 以节省资源并提升效率;

DBI提供统一的数据库接口操作方法;

(责任编辑:IT教学网)

更多

推荐Flash教程文章