从 Excel 工作表中查找并替换所有文本文件中的字符串
Posted
技术标签:
【中文标题】从 Excel 工作表中查找并替换所有文本文件中的字符串【英文标题】:find and replace a string in all text files from Excel sheet 【发布时间】:2021-11-05 01:34:15 【问题描述】:我需要将excel导入字典,然后使用字典查找和替换文件夹中所有SQL文件中的字符串。
我尝试使用以下 Python 代码从 excel 导入字典。
Excel 输入
import pandas as pd
d = pd.read_excel(r"findrep.xls",index_col=[0]).to_dict(orient='index')
print(d)
代码输出为
'art': 'rep': 'artist', 'car': 'rep': 'cart', 'dar': 'rep': 'dart'
但我需要如下
'src':'rep','art':'artist','car':'cart','dar':'dart'
然后我还需要替换文件夹中的所有文件,我正在尝试使用以下代码,但我得到 'dict' object has no attribute 'iteritems' 错误。
请帮忙..
import os
os.chdir("C:\\Users\\Magesh\\Documents\\Python Scripts\\sql")
replacements = 'src':'rep','art':'artist','car':'cart','dar':'dart'
for files in os.listdir("."):
fo = open(files, "rU")
text = fo.read()
for src, target in replacements.iteritems():
text = text.replace(src, target)
fo.seek(0)
fo.write(text)
fo.truncate()
fo.close()
【问题讨论】:
请只问一个问题... 这将有助于***.com/questions/17426292/… 第一个问题:试试df = pd.read_excel("findrep.xls", index_col=0); replacements = df.index.name: df.columns[0], **df[df.columns[0]].to_dict()
。第二个问题:试试src, target in replacements.items()
。
【参考方案1】:
感谢 Timus,它成功了
import os
import pandas as pd
df = pd.read_excel("findrep.xls", index_col=0);
replacements = df.index.name: df.columns[0], **df[df.columns[0]].to_dict()
print(replacements)
os.chdir("C:\\Users\\Magesh\\Documents\\Python Scripts\\sql")
for files in os.listdir("."):
fo = open(files, "r+")
text = fo.read()
for src, target in replacements.items():
text = text.replace(src, target)
fo.seek(0)
fo.write(text)
fo.truncate()
fo.close()
【讨论】:
以上是关于从 Excel 工作表中查找并替换所有文本文件中的字符串的主要内容,如果未能解决你的问题,请参考以下文章
将一张excel表中的数据全部粘贴到txt文本文件中,如何做
Excel表中连接sql并使用sql语句引用excel单元格数据作为查询条件