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一点样式都没有。

喜欢的

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

————————

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值