Python: 如何查找并替换为输入?

Python: How to find and replace with an input?

很长一段时间以来,我一直在尝试对我的代码中的这个查找和替换部分进行编程。尝试两种主要方法来完成这项工作。让我给你一些我想要实现的目标的背景。

Objective:代码将读取 Excel 电子表格中的 sheet1。在这个 Excel 电子表格中有几行文件夹路径,如下所示。我有重复的文件夹,我想用另一个名字更改。可以键入并替换路径中的那个词的一个。这将允许我重复使用具有新名称的相同文件夹结构 Folder1 + Folder2

下面是我的代码

import os
import pandas as pd
from openpyxl import load_workbook
from pandas.core.indexes.base import Index
import fileinput

os. chdir("C:\Users\NAME\desktop")
workbook = pd.ExcelFile('Excel.xlsx')

sheet = workbook.parse('Sheet1')


for col in sheet.values:
    for row in range(len('Folder1')):
        Folder1 = input("Enter Folder1 name")
        try:
        
            os.linesep.replace

        except OSError:
                print ( % Folder1 "addition failed")

        else: 
                print (% Folder1 "addition success")

            
for col in sheet.values:
    for row in range(len('Folder2')):
        Folder2 = input("Enter Folder2 name")
        try:
        
            os.linesep.replace

        except OSError:
                print (% Folder2 "addition failed")

        else: 
                print (%Folder2 "addition success")


for col in sheet.values:
    for row in range(len(col)):
        dir_name = str (col[row])
        
        try:
               os.makedirs(dir_name, exist_ok=True)

        except OSError:
              print ("Creation of the directory %s failed" % dir_name)
        else:
             print ("Successfully created the directory %s " % dir_name)

运行 这段代码的结果似乎导致我的终端多次要求输入 Folder1 + Folder2,而在创建目录时实际上没有进行任何更改。维护其 Folder1 和 Folder2 名称。

您在 for 循环中请求用户 input(这就是多次要求您输入文件夹名称的原因)。

另外,如果您使用 pandas,您可以这样做:

import os
import pandas as pd

df = pd.read_excel("C:/Users/Username/Desktop/Excel.xlsx", header=None)

folder1 = input("Enter Folder1 name: ")
folder2 = input("Enter Folder2 name: ")

output = df[0].str.replace("Folder1", folder1).str.replace("Folder2", folder2)

for folder in output.tolist():
    os.makedirs(folder, exist_ok=True)