㈠ 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信息存入数据库
classDBI(object):
"""databaseinterface"""
def__init__(self,conn):
"""keepconnection"""
self._conn=conn
defstore(self,sql,data):
""""""
curr=self._conn.cursor()
curr.executemany(sql,data)
self._conn.commit()
curr.close()
defexecute(self,sql,*args,**kwgs):
"""executesqlondatabase"""
curr=self._conn.cursor()
curr.execute(sql,*args,**kwgs)
self._conn.commit()
curr.close()
defipager(serial,pagesize):
"""makeserialpagebypage"""
buff=[]
forrowinserial:
buff.append(row)
iflen(buff)>=pagesize:
send,buff,=buff,[]
yieldsend
iflen(buff):
yieldbuff
deftester():
importcsv
importsqlite3
dbi=DBI(sqlite3.connect(database=":memory:"))
dbi.execute("createtabletb_tester(id,key,val,tm)")
sql="insertintotb_testervalues(?,?,?,?)"
withopen(todofile,'rb')ashandle:
forrowsinipager(csv.reader(handle),512):
dbi.store(sql,rows)
csv模块是python处理csv类文件的强大工具; 参考 https://docs.python.org/2/library/csv.html
ipager将大数据流按指定大小分页, 以节省资源并提升效率;
DBI提供统一的数据库接口操作方法;
㈢ python3如何根据csv文件的列的内容,自动建数据库表
我这里选“Online Transaction Processing(OLTP)”,自己的服务器,应该够用了,按“Next”继续
是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql数 据库了,我这里启用,把前面的勾打上,Port Number:3306,在这个页面上,您还可以选择“启用标准模式”(Enable Strict Mode),这样MySQL就不会允许细小的语法错误。如果您还是个新手,我建议您取消标准模式以减少麻烦。但熟悉MySQL以后,尽量使用标准模式,因 为它可以降低有害数据进入数据库的可能性。按“Next”继续
望采纳
㈣ Python之csv模块
csv文件具有格式简单,快速存取,兼容性好等特点,工程、金融、商业等很多数据文件都是采用csv文件保存和处理。工作中数据处理也用到了csv,简要总结下使用经验,特别是那些由于本地兼容性导致的与官方文档的差异使用。
csv(comma Seperated Values)文件的格式非常简单,类似一个文本文档,每一行保存一条数据,同一行中的各个数据通常采用逗号(或tab)分隔。
python自带了csv模块,专门用于处理csv文件的读取和存档。
csv模块中,主要由两种方式存取csv文件:函数方法;类方法。
csv.reader(csvfile,dialect ='excel',** fmtparams)
返回一个reader对象,它将迭代给定csvfile中的行。
csvfile可以是任何支持迭代器协议的对象,并在每次next()调用其方法时返回一个字符串- 文件对象和列表对象都是合适的。如果csvfile是一个文件对象,那么它必须在平台上以“b”标志打开,这会产生影响。可以给出可选的 dialect 参数,该参数用于定义特定于CSV方言的一组参数。它可以是类的子类的实例,也可以是函数Dialect返回的字符串之一 list_dialects()。其他可选的fmtparams可以给出关键字参数来覆盖当前方言中的各个格式参数。
csv.writer(csvfile,dialect ='excel',** fmtparams)
返回一个编写器对象,负责将用户的数据转换为给定的类文件对象上的分隔字符串。
csvfile可以是带有write()方法的任何对象 。如果csvfile是一个文件对象,那么它必须在平台上以“b”标志打开,这会产生影响。 可以给出可选的dialect参数,该参数用于定义特定于CSV方言的一组参数。它可以是类的子类的实例,也可以是函数Dialect返回的字符串之一 list_dialects()。可以给出其他可选的fmtparams关键字参数来覆盖当前dialect中的各个格式参数。
class csv.DictReader(f,fieldnames = None,restkey = None,restval = None,dialect ='excel',* args,** kwds)
创建一个像常规阅读器一样操作的对象,但将读取的信息映射到一个dict,其键由可选的 fieldnames 参数给出。 字段名 的参数是一个序列,其元素与输入数据的顺序中的字段相关联。这些元素成为结果字典的关键。如果省略 fieldnames 参数,则文件 f 的第一行中的 值 将用作字段名。如果读取的行包含的字段多于字段名序列,则将剩余数据添加 为由restkey 值键入的序列。如果读取的行的字段数少于字段名序列,则其余的键将采用可选的 restval 参数的值。任何其他可选或关键字参数都将传递给基础 reader 实例。
class csv.DictWriter(f,fieldnames,restval ='',extrasaction ='raise',dialect ='excel',* args,** kwds)
创建一个像常规编写器一样操作的对象,但将字典映射到输出行。的字段名的参数是一个序列识别在哪些值在传递给字典中的顺序按键的writerow()方法被写入到文件˚F。如果字典缺少字段名中的键,则可选的restval参数指定要写入的值。如果传递给方法的字典包含在字段名中找不到的键,则可选的extrasaction参数指示要采取的操作。如果设置为a 则被提升。如果设置为writerow()'raise'ValueError'ignore',字典中的额外值将被忽略。任何其他可选或关键字参数都将传递给基础 writer实例。
请注意,与DictReader类不同,它的fieldnames参数DictWriter不是可选的。由于Python的dict 对象没有排序,因此没有足够的信息来推断应该将行写入文件f的顺序。
㈤ 怎么用python读取csv数据
这两天刚好看到,Python CookBook上有说到。这里是三种读取csv的方法。
文件格式是这样的
Region,DATE_,RAW_ACU
zh_ch,Jan 27 2017,208172
importcsv
#withopen('data.csv')asf:
#f_csv=csv.reader(f)
#headers=next(f_csv)
#forrowinf_csv:
##print(row)
#print(row[0],row[1])
#withopen('data.csv',encoding='utf-8-sig')asf:
#f_csv=csv.reader(f)
#headers=next(f_csv)
#print(headers)
#Row=namedtuple('Row',headers)
#forrinf_csv:
#row=Row(*r)
#print(row.Region,row.DATE_)
withopen('data.csv',encoding='utf-8-sig')asf:
f_csv=csv.DictReader(f)
forrowinf_csv:
print(row['DATE_'],row)
具体可以看这个文档。http://python3-cookbook.readthedocs.io/zh_CN/latest/c06/p01_read_write_csv_data.html。
㈥ 怎么用python读取csv数据
csv是我接触的比较早的一种文件,比较好的是这种文件既能够以电子表格的形式查看又能够以文本的形式查看。最早接触是在别人的Perl脚本中,或许是为了充分利用Perl的文本处理能力。不过,日常的生活工作中我用到的比较多的倒还是电子表格。
创建一个电子表格如下:
使用Mac中Numbers功能将其导出为csv文件,使用文本查看文件内容如下:
GreydeMac-mini:chapter06 greyzhang$ cat data.csv
index,name,comment,,,,
1,name_01,coment_01,,,,
2,name_02,coment_02,,,,
3,name_03,coment_03,,,,
4,name_04,coment_04,,,,
5,name_05,coment_05,,,,
6,name_06,coment_06,,,,
7,name_07,coment_07,,,,
8,name_08,coment_08,,,,
9,name_09,coment_09,,,,
10,name_10,coment_10,,,,
11,name_11,coment_11,,,,
12,name_12,coment_12,,,,
13,name_13,coment_13,,,,
14,name_14,coment_14,,,,
15,name_15,coment_15,,,,
16,name_16,coment_16,,,,
17,name_17,coment_17,,,,
18,name_18,coment_18,,,,
19,name_19,coment_19,,,,
20,name_20,coment_20,,,,
21,name_21,coment_21,,,,
换用pandas尝试数据文件读取如下:
In [1]:importpandasaspd
In [2]:ls
data.csv data.numbers
In [3]:data = pd.read_csv('data.csv')
In [4]:data
Out[4]:
index name comment Unnamed: 3 Unnamed: 4 Unnamed: 5 Unnamed: 6
0 1 name_01 coment_01 NaN NaN NaN NaN
1 2 name_02 coment_02 NaN NaN NaN NaN
2 3 name_03 coment_03 NaN NaN NaN NaN
3 4 name_04 coment_04 NaN NaN NaN NaN
4 5 name_05 coment_05 NaN NaN NaN NaN
5 6 name_06 coment_06 NaN NaN NaN NaN
6 7 name_07 coment_07 NaN NaN NaN NaN
7 8 name_08 coment_08 NaN NaN NaN NaN
8 9 name_09 coment_09 NaN NaN NaN NaN
9 10 name_10 coment_10 NaN NaN NaN NaN
10 11 name_11 coment_11 NaN NaN NaN NaN
11 12 name_12 coment_12 NaN NaN NaN NaN
12 13 name_13 coment_13 NaN NaN NaN NaN
13 14 name_14 coment_14 NaN NaN NaN NaN
14 15 name_15 coment_15 NaN NaN NaN NaN
15 16 name_16 coment_16 NaN NaN NaN NaN
16 17 name_17 coment_17 NaN NaN NaN NaN
17 18 name_18 coment_18 NaN NaN NaN NaN
18 19 name_19 coment_19 NaN NaN NaN NaN
19 20 name_20 coment_20 NaN NaN NaN NaN
20 21 name_21 coment_21 NaN NaN NaN NaN
查看读取出来的结果,看的出结果被处理成了pandas的DataFrame格式。
In [6]: type(data)
Out[6]:pandas.core.frame.DataFrame
㈦ 用python提取csv文件内容到数据库
这个脚本可以直接运行,将csv文件放在同级目录即可。
csv第一列需要有列名,如果csv里没有列名,需要在代码中添加列名。
代码运行示例:python insert.py csvname tablename
㈧ python中怎么读取csv文件
Python读取CSV文件方法如下:
如下是一个CVS文件
使用Python打开CSV可以直接使用open函数打开,然后使用reader函数读取内容,实现代码如下:
运行结果如下:
更多Python相关技术文章,请访问Python教程栏目进行学习!以上就是小编分享的关于python中怎么读取csv文件的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!