python批量修改excel文件格式_Python批量修改Excel中的文件内容

import os

import xlrd

from xlutils.copy import copy

def base_dir(filename=None):

return os.path.join(os.path.dirname(__file__),filename)

"""对excel进行操作"""

work = xlrd.open_workbook(base_dir("excel.xls"))

# 索引到第X个工作表

sheet = work.sheet_by_index(0)

#查看有多少行

print(sheet.nrows)

#查看有多少列

print(sheet.ncols)

#获取单元格内容

print(sheet.cell_value(5,2))

"""对excel进行修改/添加内容"""

# 找到需要更该的xls

work = xlrd.open_workbook(base_dir("excel.xls"))

print(work)

# 对数据表格进行复制

old_content = copy(work)

# 定位到Sheet1表

ws = old_content.get_sheet(0)

#在sheet1表中写入内容

ws.write(7,2,"Tao")

#对修改后的内容进行保存

old_content.save(base_dir("data.xls"))

Python批量修改Excel中的文件内容

# -*- coding: utf-8 -*-

from xlrd import open_workbook

from xlutils.copy import copy

# 括号里放入要读取的文件的绝对路径

wb = open_workbook('./res/bing.xls')

# 获取所读取文件的第一张表单

sheet = wb.sheet_by_index(0)

# 获取该表单的行数

s = sheet.nrows

# 复制原文件,因为原文件只能读取,不能写入数据,所以要复制得到一个可以写入数据的文件

newwb = copy(wb)

# 获取可写文件的第一张表单

newsheet = newwb.get_sheet(0)

try:

for row in range(sheet.get_rows()):

# 遍历每一行,当8列的值小于12时,就把该值改为0

if sheet.cell(row,7).value < 12:

newsheet.write(row, 7, 0)

except:

print("")

newwb.save('1.xls')123456789101112131415161718192021222324

————————

xlwt 写库的局限性: 只能写入新建的 excel。

xlutils 库的 copy 功能可能帮助我们打破这个局限性。

首先,用pip install xlutils来添加 xlutils 库。

import xlwt

import xlrd

import xlutils.copy

rd = xlrd.open_workbook("Hello.xls", formatting_info = True)   # 打开文件

wt = xlutils.copy.copy(rd)   # 复制

sheets = wt.get_sheet(0)   # 读取第一个工作表

sheets.write(m, n, "I love you!")   # 向 m-1 行 n-1 列的单元格写入内容

wt.save("Hi.xls")   # 保存

123456789

实现原理就是:我先读,再用xlutils.copy的 copy 复制一份,复制的这个就能实现写入了。

xlrd.open_workbook("Hello.xls", formatting_info = True)

里面的参数是可选的: 很重要,这个是保留原格式,没有它的话你会发现新的excel一点样式都没有。

喜欢的

————————————————

————————

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页