Python 新建Excel文件,并且在Excel文件中增加行的内容
import xlwt
import xlrd
import os
from xlutils.copy import copy
file_name = "execl_test.xls"
sheet_name = "Sheet1"
heads = ["head1", "head2", "head3"]
row_items = [
{"head1": "item1", "head2": "item2", "head3": "item3"},
{"head1": "item4", "head2": "item5", "head3": "item6"},
]
path = ".." + file_name
"""
函数名称:
CreateExcelFile
创建Excel文件
输入参数:
file_name:Excel文件名称
sheet_name:Excel文件Sheet表单名称
heads:Excel表头内容(list类型)
输出参数:无
返回值:无
"""
def CreateExcelFile(file_name, sheet_name, heads):
try:
w = xlwt.Workbook(encoding="utf-8")
s = w.add_sheet(sheet_name)
for i in range(len(heads)):
s.write(0, i, heads[i])
w.save(file_name)
print("创建Excel文件成功。")
except Exception as e:
print("创建Excel文件失败:", e)
"""
函数名称:
AddRowItemsToExcel
在Excel表中增加内容
输入参数:
file_name:Excel文件名称
row_items:新增加内容([{},{}]格式)
输出参数:无
返回值:无
"""
def AddRowItemsToExcel(file_name, row_items):
try:
w1 = xlrd.open_workbook(file_name)
ss = w1.sheet_names()
s1 = w1.sheet_by_name(ss[0])
n = s1.nrows
h = s1.row_values(0)
w2 = copy(w1)
i = n
s2 = w2.get_sheet(0)
for item in row_items:
for j in range(len(h)):
s2.write(i, j, item[h[j]])
i += 1
w2.save(file_name)
print("在Excel表中增加内容,操作成功")
except Exception as e:
print("在Excel表中增加内容,操作失败。", e)
if os.path.exists(path) == True:
CreateExcelFile(file_name, sheet_name, heads)
AddRowItemsToExcel(file_name, row_items)
AddRowItemsToExcel(file_name, row_items)