如何编写脚本来编辑文件夹中的每个Excel文件

时间:2019-02-05 16:31:48

标签: python excel directory

我想制作一个脚本,将特定文本写入文件夹内每个excel文件的A1单元格。我不确定如何让Python一步一步地打开每个文件,对A1进行更改,然后覆盖保存原始文件。

import os
import openpyxl

os.chdir('C:/Users/jdal/Downloads/excelWorkdir')
folderList = os.listdir()
for file in in os.walk():
    for name in file:
        if name.endswith(".xlsx" and ".xls")
        wb = openpyxl.load_workbook()
        sheet = wb.get_sheet_by_name('Sheet1')

sheet['A1'] = 'input whatever here!'
sheet['A1'].value
wb.save()

2 个答案:

答案 0 :(得分:0)

我在您的代码中看到以下错误:

您在.endswith中有一个错误,应该是

name.endswith((".xlsx",".xls"))

即它必须以tuple允许的结尾作为结尾。

您的if末尾缺少:,并且您的缩进似乎已损坏。

您应该为.load_workbook传递一个参数,为.save传递一个参数,即要读取/写入的文件名。

答案 1 :(得分:0)

我将遍历该文件夹,并使用熊猫将文件读取为临时数据帧。从那里,它们很容易操作。

假设您在相关目录中:

import pandas as pd
import os

files = os.listdir()

for i in range(len(files)):
    if files[i].endswith('.csv'):

        # Store file name for future replacement
        name = str(files[i])

        # Save file as dataframe and edit cell
        df = pd.read_csv(files[i])
        df.iloc[0,0] = 'changed value'

        # Replace file with df
        df.to_csv(name, index=False)