首页 > 解决方案 > python 3在目录中打开excel文件

问题描述

我是编程新手,我正在尝试编写一个脚本,该脚本将在文件夹中打开一个 excel 文件。使用 openpyxl 更新工作簿。保存文件。打开目录中的下一个文件并执行相同操作。

我正在尝试这个没有成功:

import os.glob
folder_path = 'G:\\My Drive\\Reports\\'
for filename in glob.glob(os,path.join(folder_path, '*.xlsm')):
    with open(filename, 'r' as f:
        text = f.read()
        print (filename)
        print (len(text))
from openpyxl import Workbook
from openpyxl.styles import NamedStyle, Font, Border, Side, Alignment
wb=Workbook()
ws=wb.active
Update cells

wb.save(filename)

标签: pythonexcel

解决方案


你有错误的缩进。您必须在for-loop 内执行此操作。

你必须使用模块中的函数openpyxl来打开和读取 Excel 文件。

函数open()read()对于读取文本文件(或类似文件)或读取原始数据很有用,但Excel使用更复杂的文件(即它可以使用.zip包含许多 文件的.xml文件)并且您需要像openpyxl读取它的模块。

import os
import glob
import openpyxl

folder_path = 'G:\\My Drive\\Reports\\'

for filename in glob.glob(os.path.join(folder_path, '*.xlsm')):

    print(filename)

    wb = openpyxl.open(filename)
    ws = wb.active

    #Update cells
    print('old value:', ws['A1'].value)
    ws['A1'] = 'Hello World'
    print('new value:', ws['A1'].value)

    wb.save(filename)

顺便说一句:始终将所有导入放在开头以使代码更具可读性。

另请参阅:PEP 8 -- Python 代码样式指南


推荐阅读