如何用python将九九乘法表写入csv文件中?

就是下图这样的形式

第1个回答  2020-08-28

方法/步骤

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

    请点击输入图片描述

    然后编辑脚本内容如下:

    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'])

    请点击输入图片描述

    脚本内容编辑好以后,对应的解释内容都在#号注释后面,通过导入csv模块,然后打开一个test.csv文件对象,然后调用csv模块里的writer函数,返回一个writer对象 spamwriter,然后这个spamwriter对象就有了可以写入csv文件的能力。给它的writerow函数传递值,然后就会写入到对应的csv文件中。

    但是在执行脚本之前,我们必须先创建一个csv文件,在linux上命令是:

    touch test.csv

    如下面图中所示,因为如果不提前创建文件,会报找不到这个文件的错误,如下面第二张图中所示:

    请点击输入图片描述

    请点击输入图片描述

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

    python csv_scritps.py

    执行完毕后,打开csv文件,如下面所示:

    请点击输入图片描述

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

    请点击输入图片描述

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

    请点击输入图片描述

    请点击输入图片描述

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

    请点击输入图片描述

    然后删除旧的test.csv文件,命令是:

    rm test.csv

    然后执行脚本,命令是:

    python csv_scripts.py

    在查看执行后的结果,可以看到,数据就排列的相对整齐了。以上就是python将数据写入到csv的全部内容。

    请点击输入图片描述

    请点击输入图片描述

相似回答