想請教各位
今天我有很多篇遊記,需要把地名都翻譯成英文
例如:
原始文章:今天要到桃園玩,首先會到大溪老街買名產
我想要的:今天要到Taoyuan玩,首先會到Daxi Old Street買名產
所遇困難點有兩個
第一、Word內建取代只能僅能一次取代一種文字
例如:以下作法只能慢慢的把桃園取代成Taoyuan,台北取代成Taipei,可是這樣太沒效率
我想要批次處理,比如說[桃園:Taoyuan],[台北:Taipei]一次丟到文章中就可以取代完成
第二、多篇文章同時執行
小妹想請教各位前輩,能不能用Office相關軟體或Python作處理呢? 感謝
打開 Word 錄製一個巨集,先試著取代一個字串,然後停止錄製。再去編輯這個巨集。
把取代字串那一段,複製幾份,把各別字串換成其他你要替換的文字,然後再儲存巨集。
接下來就是載入一份檔案就執行一次巨集,就會整篇自動更換了。
題外話,我的疑問是~
【今天要到Taoyuan玩,首先會到Daxi Old Street買名產】,這樣的【遊記】,是要給本國人看,還是給外國人看?
很有趣的問題
要改word檔案我不確定你有沒有要「僅限使用word」完成
如果是的話那樓上巨集的方法很棒
如果可以用其他程式語言 建議你用python寫一個"編輯文檔.py"
以下的code我用txt示範因為我沒錢買word(XD)
#在跟此檔案的同資料夾底下放置你要修改的檔案
#因為有修改中文 記得加上後面encoding的參數
f = open('test.txt', 'r',encoding='utf-8-sig')
lines = f.read()
#要修改的對比詞字典
w={
'各位':'everyone',
'今天':'today',
'遊記':'dairy',
'名產':'something good'
}
#要取代的字詞(key)存在陣列裡面
space=[]
for key,value in w.items():
space.append(key)
#迴圈開始改寫檔案內容
for i in range(0,len(space)):
x=space[i]
lines=lines.replace(x,w[x])
f.close()
#用覆寫的方式存檔
f = open("test.txt", "r+")
f.write(lines)
以上
可以修改單一個檔案 如果你要一次修改所有檔案
你可以先把所有word檔案放在跟"編輯文檔.py"同一個資料夾
然後用下面的code
具體作法就是先把修改的寫成一個函式 然後檢視所有檔案後
執行這個function
def All(filename):
f = open(filename, 'r',encoding='utf-8-sig')
lines = f.read()
#要修改的對比詞字典
w={
'各位':'everyone',
'今天':'today',
'遊記':'dairy',
'名產':'something good'
}
#要取代的字詞(key)存在陣列裡面
space=[]
for key,value in w.items():
space.append(key)
#迴圈開始改寫檔案內容
for i in range(0,len(space)):
x=space[i]
lines=lines.replace(x,w[x])
f.close()
#用覆寫的方式存檔
f = open(filename, "r+")
f.write(lines)
import os
path = "./"
dirs = os.listdir( path )
for file in dirs:
if (file!='編輯文檔.py'):
All(file)
就可以完成你想要一次改所有檔案的字典需求
裝個python 這個問題是可以一次通吃 快速解決的