Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用excel中的元素替换字符串中的单词。python_Python_Excel_Regex_File_Replace - Fatal编程技术网

用excel中的元素替换字符串中的单词。python

用excel中的元素替换字符串中的单词。python,python,excel,regex,file,replace,Python,Excel,Regex,File,Replace,我需要脚本遍历文件的每一行,如果它从excel中找到一个值,它将替换它 File: Port 1/1/1\n Description xxx\n Port 2/1/3\n Description yyy\n Port 3/4/2\n Description zzz\n Excel: 1/1/1 - 5/5/5 3/4/2 - 6/6/6 我只能从文件中找到值。但我不知道如何进行更换。有什么想法吗 import re import pandas e

我需要脚本遍历文件的每一行,如果它从excel中找到一个值,它将替换它

File:
    Port 1/1/1\n
    Description xxx\n
    Port 2/1/3\n
    Description yyy\n
    Port 3/4/2\n
    Description zzz\n
Excel:
1/1/1 - 5/5/5
3/4/2 - 6/6/6
我只能从文件中找到值。但我不知道如何进行更换。有什么想法吗

import re
import pandas
excel_data_df = pandas.read_excel('swap_ports.xlsx', sheet_name='ports')
print(excel_data_df)
with open("string.txt", "r") as f:
    pattern = r'\d[/]\d[/]\w\d'
    printlines = f.readlines()
    for i in printlines:
        results = re.findall(pattern, i)
        print (results)
重新导入
dict1={}
打开('r.txt','r')作为文件:
f2=file.read().splitlines()
对于f2中的i:
i=i.替换('','')
i=i.split('-'))
dict1[i[0]]=i[1]
打开('t.txt','r')作为文件:
f1=文件。读取()
最终=[]
对于dict1.keys()中的j:
模式=f'^{j}$'
f1=re.sub(模式,dict1[j],f1)
final.append(f1)
打印(最终版)
#['Port 5/5/5\\n\n说明xxx\\n\n端口2/1/3\\n\n说明yyy\\n\n端口6/6/6\\n\n说明zzz\\n\n']

您是否已有读取Excel文件的代码?您需要将代码粘贴为文本,而不是image.Thx。是的,这个代码有效。但是,如果将端口1/1/15添加到文件R中,则此端口将替换为1/1/1 form T