关于python读取excel,处理后再导出为excel的操作

 

首先需要安装 xlsxwriter依赖库,常规window上使用以下命令即可:

 pip3 install xlsxwriter

如果失败,报超时,则使用下面命令:

pip3 --default-timeout=100 install xlsxwriter

安装成功后的如图:

关于python读取excel,处理后再导出为excel的操作_第1张图片

 

安装以后,开始操作读取和写入:

# coding=utf-8
import xlrd;
import xlsxwriter;
import datetime;
import time;
# 打开文件
data = xlrd.open_workbook('F:/知识库近千文档的模板文件/read.xlsx')
# 查看工作表
data.sheet_names()
print("sheets:" + str(data.sheet_names()))
# 通过文件名获得工作表,获取工作表1
table = data.sheet_by_name('Sheet3')
# 打印data.sheet_names()可发现,返回的值为一个列表,通过对列表索引操作获得工作表1
# table = data.sheet_by_index(0)

# 获取行数和列数
# 行数:table.nrows
# 列数:table.ncols
nRows = table.nrows
resultList=[]
for i in range(1, nRows):  # 循环行数
        row_vals = table.row_values(i)
        dict = {};
        for j, val in enumerate(row_vals):  # 对每列数据进行循环
            if j == 0:
                dict["第1列数字"] = val
            if j == 1:
                dict["第2列数字"] = val
                resultList.append(dict)
                break

'''
以上部分是读取操作
以下部分是写入操作
'''
workbook = xlsxwriter.Workbook('d:\wirte.xlsx')  #创建一个Excel文件
worksheet = workbook.add_worksheet("sheet1")               #创建一个sheet

title = ['姓名','年龄']     #表格title
worksheet.write_row('A1',title)
hang=1
for dicts in resultList:
    print(dicts)
    worksheet.write(hang,0, dicts["第1列数字"])
    worksheet.write(hang,1, dicts["第2列数字"])
    hang+=1;
workbook.close()

 

你可能感兴趣的:(python,python)