csv.reader(f)和f.readlines()、追加数据
假如某个文档f中存储如下内容:
你好,中国。
1,2,3,4
共两行内容。
当你使用csv.reader(f),则会存储为如下形式;
[['你','好','中','国']
['1','2','3','4']]
如果使用f.readlines()则结果为:
['a,b,c,d\n','1,2,3,4\n']
如下图所示,可看到文件已经写入了1.xlsx文件。
下面创建一个写入多行多列的程序,具体写入的内容存在了一个txt文件之中,需要先把1.txt读入,才能写到xlsx文件中。
变成列表格式后就可以写入了。
我们需要一个行号,以对每个行进行一个索引。此时,可以调用enumerate来自动创建索引。如下图所示,给索引起一个变量名为index,然后还需要对每行的列进行遍历,所以我们要遍历行,此处就给行取个变量名d吧,然后遍历行中的列数,随后就可以写入数据了。sheet.cell()中参数依次为行数,列数和写入的内容,我们据此就可以传入要写入的行号,列号和内容,之所以用index+1等,是因为其是从0开始的,把其变成从1开始方便阅读;然后给其去个新的sheet名字,然后运行,即可在上一个创建的xlsx表中,新加入new_data的sheet了。如下所示:
可看到如下图所示已经写入成功了。
下面看下如何追加数据:
先读取享有的Excel表,看下从第几行开始插入数据,所以先要读取Excel数据,并且知道到哪一行,然后再对行进行累加,再插入即可。
注意插入的同时时,表格不能是打开状态,不然会提示错误,没有权限写入。