多语言展示
当前在线:341今日阅读:197今日分享:19

python中如何把数据写入csv文件之中

csv文件一般是用来存储各种统计信息,也可以用来存储数据库中的表结构。今天我们来看一下,在python中,是怎么将数据写入到csv文件吧。
工具/原料

python3

方法/步骤
1

首先创建一个csv_scripts.py文件来保存我们的脚本,如下面图中所示:

2

然后编辑脚本内容如下:import csv# 打开一个csv文件对象with open('test.csv','w', newline='') as csvfile:    # 创建一个写入对象    spamwriter = csv.writer(csvfile, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL)        #向csv文件里写入第一行    spamwriter.writerow(['spam']*5 + ['Baked Beans'])      # 向csv文件里写入第二行    spamwriter.writerow(['spam', 'Lovely Spam', 'Wonderful Spam'])

3

脚本内容编辑好以后,对应的解释内容都在#号注释后面,通过导入csv模块,然后打开一个test.csv文件对象,然后调用csv模块里的writer函数,返回一个writer对象 spamwriter,然后这个spamwriter对象就有了可以写入csv文件的能力。给它的writerow函数传递值,然后就会写入到对应的csv文件中。但是在执行脚本之前,我们必须先创建一个csv文件,在linux上命令是:touch test.csv如下面图中所示,因为如果不提前创建文件,会报找不到这个文件的错误,如下面第二张图中所示:

4

由此可见,open函数打开文件时,文件不存在的时候不会自动创建新的文件。test.csv文件创建完毕以后,就可以执行这个脚本了,命令是是:python csv_scritps.py执行完毕后,打开csv文件,如下面所示:

5

从打开的test.csv文件中我们可以看到,第一次写入的值里['spam']*5是单独一列,['Baked Beans']是一列,而第二次写入的值里一个三个元素的列表是写了三列,这就说明,写入的时候,如果想对应值都是对其的,最好提前将他拼成指定长度的列表,而不能在writerow函数里拼接。

6

这里还可以出现的错误是,在open函数里没有带上'w'参数,代码如下面图中所示,这个时候如果直接执行脚本的话,会报错,not writeable,可见默认情况打开的csv文件对象是没有写权限的。

7

根据上面遇到的错误信息和格式信息,我们新写了个脚本,如下所示:脚本中定义了一行表头字段,然后定义了一个三个子列表的列表,子列表中是和表头长度相同的元素。

8

然后删除旧的test.csv文件,命令是:rm test.csv然后执行脚本,命令是:python csv_scripts.py在查看执行后的结果,可以看到,数据就排列的相对整齐了。以上就是python将数据写入到csv的全部内容。

注意事项
1

csv模块中还有更多的格式化子模块,大家可以多尝试。

2

本人原创、转载请声明。

推荐信息