利用Python处理数据时,处理完成后输出结果为二维的列表,如果我们想把这个列表输出到Excel中形成格式化的数据,其实和输出到TXT文件大同小异。
比如,有一个二维列表
我们要输出到Excel:
代码如下:
list1 = [['张三','男','未婚',20],['李四','男','已婚',28],['小红','女','未婚',18],['小芳','女','已婚',25]] output = open('data.xls','w',encoding='gbk') output.write('name\tgender\tstatus\tage\n') for i in range(len(list1)): for j in range(len(list1[i])): output.write(str(list1[i][j])) #write函数不能写int类型的参数,所以使用str()转化 output.write('\t') #相当于Tab一下,换一个单元格 output.write('\n') #写完一行立马换行 output.close()
我们要输入出txt:
代码如下:
list1 = [['张三','男','未婚',20],['李四','男','已婚',28],['小红','女','未婚',18],['小芳','女','已婚',25]] output = open('data.txt','w',encoding='gbk') output.write('name,gender,status,age\n') for row in list1: rowtxt = '{},{},{},{}'.format(row[0],row[1],row[2],row[3]) output.write(rowtxt) output.write('\n') output.close()
只是用了一个小例子来说明,在遇到数据量特别大的样本时同样适用。
python二维列表写入文件
思路:
- 求取列表最外层长度
- 求取每个内层列表长度
- 双重for循环进行写入
代码:
M=[[1,2,3,4,5], [4,5,6,7,8,9], [5,6,7,8,9]] output = open('data.txt','w+') for i in range(len(M)): for j in range(len(M[i])): output.write(str(M[i][j])) output.write(' ') output.write('\n') output.close()