openpyxl可以直接实现对 .xlsx /.xlsm / .xltx / .xltm 格式的问价的读写与操作,此处记录一种最好用的将数据转换为二维列表的形式进行读写的操作
写入数据
# 写入文件
workbook = load_workbook(filename=xlsx_path)
sheet_1 = workbook.active
#指定单元格写入
# cell = sheet_1["A1"].value = "哈喽"
# sheet_1["A3"] = "nihao"
# sheet_1.cell(row=2, column=1).value = "1张的"
#连续大量写入
xlsx_list = [['工程形象', 'A', '工程量', 'A', '工程形象', 'A'], ['水保', 'B', '环保', 'B'], ['监理', 'C', '监理', 'C']]
data= xlsx_list # todo 改了data就好了
for row in data:
sheet_1.append(row) # 在原来的基础上接着添加,记得先将excel清空
print("表格区域" + sheet_1.dimensions)
workbook.save(xlsx_path) # 没有这句话,啥都写不进去
结果如下
原样(二维列表)读出
workbook = load_workbook(filename=xlsx_path)
sheet_1 = workbook.active
acell = sheet_1["A1:H3"]
list1 = []
for line in acell:
list2 = []
for word in line:
list2.append(word.value)
while None in list2:
list2.remove(None)
list1.append(list2)
print(list1)
结果如下:
[['工程形象', 'A', '工程量', 'A', '工程形象', 'A'], ['水保', 'B', '环保', 'B'], ['监理', 'C', '监理', 'C']]