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一點樣式都沒有。
喜歡的
————————————————
————————
總結
以上是生活随笔為你收集整理的python批量处理excel文本改为数字_Python批量修改Excel中的文件内容的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何编程两个android 手机进行通信
- 下一篇: java 静态代码块_关于Java你不知