关于python3的不同长度数组的输出
程序员文章站
2022-04-06 15:12:31
...
使用python 3.7,openpyxl模块处理list时出现数据丢失
本人使用python3.7,在使用模块 openpyxl 过程中,发现不同长度的list,写入到Excel中时,数据会丢失。
如下:
#usr/bin/ env python
from openpyxl import Workbook
wb = Workbook()
ws = wb.create_sheet("sheet1")
ws = wb.active
array = [
['p', 'y', 't', 'h', 'o', 'n'], #list1
['我', '爱', '吃', '肉','',''], #list2
[1, 2, 3, 4, 5, 6, 7] #list3
]
rows = len(array)
cols = len(array[0])
for i in range(rows):
for j in range(cols):
ws.cell(row=i+1, column=j+1, value=array[i][j])
wb.save('1.xlsx')
当我按照第一个list的长度去遍历数组array时,会报错,
必须将第二个数组用空元素也补齐到与第一个list长度相同,报错才会停止;
但是依旧有问题,那就是第三个list的最后一位元素‘7’会丢失,
运行结果如下:
当我将 list1 和 list2 交换位置,并且不填充 list2 ,编译不会报错,但是同样会丢失的数据,
交换后代码如下:
#usr/bin/ env python
from openpyxl import Workbook
wb = Workbook()
ws = wb.create_sheet("sheet1")
ws = wb.active
array = [
['我', '爱', '吃', '肉'], #list2
['p', 'y', 't', 'h', 'o', 'n'], #list1
[1, 2, 3, 4, 5, 6, 7] #list3
]
rows = len(array)
cols = len(array[0])
for i in range(rows):
for j in range(cols):
ws.cell(row=i+1, column=j+1, value=array[i][j])
wb.save('1.xlsx')
运行后结果如下:
以此记录python 3.7 处理多个list时的问题,也许是方法行不通。
2020-5-22 13:37
推荐阅读
-
php将字符串随机分割成不同长度数组的方法
-
【LeeCode 中等 数组 python3】209. 长度最小的子数组
-
将任意一个十进制数字转换为二进制形式(使用数组存储二进制数,数组长度为100),并输出转换后的结果
-
关于页面js输出数组数据时出现‘,’的问题
-
PHP中遍历二维数组_以不同形式的输出操作实例
-
关于C语言 数组输出实例的讲解
-
算法007:二分查找 请实现有重复数字的有序数组的二分查找,输出在数组中第一个大于等于查找值的位置,如果数组中不存在这样的数,则输出数组长度加一
-
Java算法(递归):两个不同长度的有序数组求第k小的元素(时间复杂度为:O(log(m1 + m2)))。
-
php数组有关问题 怎么判断两个数组不同的数据,并且输出
-
php将字符串随机分割成不同长度数组的方法