在python中新建、读取、写入excel表格有很多库,例如openpyxl、xlrd、xlwt等;
这里使用的是openpyxl,openpyxl库只能支持xlsx格式。
新建表格
将excel保存在当前源文件目录下
def create_excel(filename):
workbook = openpyxl.Workbook()
sheet = workbook.active
sheet.title = 'Sheet1'
sheet.cell(1, 2, 'filename')
sheet.cell(1, 3, 'height')
sheet.cell(1, 4, 'width')
workbook.save(filename)
读取表格的数据
- 读取所有数据
def read_data():
writeBook_in = openpyxl.load_workbook('result.xlsx')
writeSheet_in = writeBook_in["Sheet1"]
for row in writeSheet_in:
for cell in row:
print(cell.value, '\t', end='')
print('\n')
- 按需读取数据
def read_data():
writeBook_in = openpyxl.load_workbook('result.xlsx')
writeSheet_in = writeBook_in["Sheet1"]
for row in range(1,3):
c1 = writeSheet_in.cell(row, 1).value
c1 = writeSheet_in.cell(row, 3).value
写入数据
def write_data():
writeBook_in = openpyxl.load_workbook('result.xlsx')
writeSheet_in = writeBook_in["Sheet1"]
for row in range(2, 4):
writeSheet_in.cell(row, 1, 1)
writeSheet_in.cell(row, 2, "img_1")
writeSheet_in.cell(row, 3, "2")
writeSheet_in.cell(row, 4, "3")
writeBook_in.save('result.xlsx')
追加数据(不覆盖前面数据)
def write_data():
writeBook_in = openpyxl.load_workbook('result.xlsx')
writeSheet_in = writeBook_in["Sheet1"]
nrow = writeSheet_in.max_row # 读取当前表格的最大行
nrow += 1
writeSheet_in.cell(nrow, 1, 1)
writeSheet_in.cell(nrow, 2, 2)
writeSheet_in.cell(nrow, 3, 3)
writeSheet_in.cell(nrow, 4, 4)
writeBook_in.save('result.xlsx')