我有两个文件要比较,一个文件中的单词被分割成另一个文件的多个部分。我需要找到一种方法将这些片段与原始单词/短语进行映射
在给定的文件中,我使用中文单词的timestart和time end,比较了这个时间戳下的电话集,并打印了中文单词的那些值
我使用的文件是:
参考文件:https://ufile.io/7lze7
段文件:https://ufile.io/rysz4
到目前为止,我尝试过的代码是:
outfile=open("lexlog",'w')
phoneme=[]
with open("ref.txt"+file,'r') as sylfile:
for lines in sylfile:
start,end,syl=lines.split()
#print "from syl "+start,end
with open("hyp.txt", 'r') as phnfile:
for line in phnfile:
startphn, endphn, sylphn = line.split()
if (startphn>=start) and (endphn<=end) and (startphn<endphn):
phoneme.append(sylphn)
print `enter code here`sylphn
outfile.write(startphn+" "+start+" "+endphn+" "+end)
print file,syl,' '.join(phoneme)
outfile.write(file+" "+syl+" "+' '.join(phoneme)+"\n")
phoneme=[]
我预期的结果是:
ref.txt !SIL SIL
ref.txt 非 F EI
ref.txt 生 SH AH NG
ref.txt 物 U
ref.txt 物 U
ref.txt 體 T I
ref.txt 也 I E
ref.txt 會 H U EI
ref.txt 有 I OU
ref.txt 一 I
ref.txt 種 ZH O NG
ref.txt 被 B EI
ref.txt 稱 CH AH NG
ref.txt 作 Z U O
ref.txt 自 Z IH
ref.txt 殺 SH A
ref.txt 的 D AH
ref.txt 設 SH AH
ref.txt 計 J I
ref.txt !SIL SIL
ref.txt 例 L I
ref.txt 如 R U
ref.txt !SIL SIL
ref.txt 人 R AH N
ref.txt 工 G O NG
ref.txt 智 ZH IH
ref.txt 慧 H U EI
ref.txt !SIL SIL
ref.txt 在 Z AI
ref.txt 被 B EI
ref.txt 電 D I E N
ref.txt 腦 N AU
ref.txt 病 B I NG
ref.txt 毒 D U
ref.txt 入 R U
ref.txt 侵 Q I N
ref.txt 的 D AH
ref.txt 情 Q I NG
ref.txt 況 K U A NG
ref.txt 下 X I A
ref.txt !SIL SIL
ref.txt 會 H U EI
ref.txt 啟 Q I
ref.txt 動 D O NG
ref.txt 殺 SH A
ref.txt 毒 D U
ref.txt 程 CH AH NG
ref.txt 系 X I
ref.txt !SIL SIL
ref.txt 同 T O NG
ref.txt 時 SH IH
ref.txt 刪 SH A N
ref.txt 除 CH U
ref.txt 自 Z IH
ref.txt 己 J I
ref.txt 體 T I
ref.txt 內 N EI
ref.txt 的 D AH
ref.txt 檔 D A NG
ref.txt 案 A N
ref.txt !SIL SIL
但结果是:
ref.txt !SIL SIL
ref.txt 非 F EI
ref.txt 生 SH AH NG
ref.txt 物 U
ref.txt 物 U
ref.txt 體 T I
ref.txt 也 I E
ref.txt 會 H U EI
ref.txt 有 I OU A D U CH AH NG X I SIL T O NG SH IH SH A N CH U Z IH J I T I N EI D AH D A NG A N SIL
ref.txt 一 I
ref.txt 種 ZH O NG
ref.txt 被 B EI
ref.txt 稱 CH AH NG
ref.txt 作 Z U O
ref.txt 自 Z IH
ref.txt 殺 SH A
ref.txt 的 D AH
ref.txt 設 SH AH
ref.txt 計 J I
ref.txt !SIL SIL
ref.txt 例 L I
ref.txt 如 R U
ref.txt !SIL SIL
ref.txt 人 R AH N
ref.txt 工 G O NG
ref.txt 智 ZH IH
ref.txt 慧 H U EI
ref.txt !SIL SIL
ref.txt 在 Z AI
ref.txt 被 B EI
ref.txt 電 D I E N
ref.txt 腦 N AU
ref.txt 病 B I NG
ref.txt 毒 D U
ref.txt 入 R U
ref.txt 侵 Q I N
ref.txt 的 D AH
ref.txt 情 Q I NG
ref.txt 況 K U A NG
ref.txt 下 X I A
ref.txt !SIL SIL
ref.txt 會 H U EI
ref.txt 啟 Q I
ref.txt 動 D O NG
ref.txt 殺
ref.txt 毒 D U
ref.txt 程 CH AH NG
ref.txt 系 X I
ref.txt !SIL SIL
ref.txt 同 T O NG
ref.txt 時 SH IH
ref.txt 刪 SH A N
ref.txt 除 CH U
ref.txt 自 Z IH
ref.txt 己 J I
ref.txt 體 T I
ref.txt 內 N EI
ref.txt 的 D AH
ref.txt 檔 D A NG
ref.txt 案 A N
ref.txt !SIL SIL
不知怎的,输出中的第八行得到了与我期望的不同的结果。感谢您的帮助
理解所需的输出有点困难,但您似乎也在尝试输出时间值
您正在以字符串形式从每个文件中读取数据。需要将每行的前两列转换为浮点,否则将对字符串值而不是数值进行比较。在这里,我将前两个值转换为浮点数
我建议使用
csv
库来构建行。然后可以在每个条目之间自动添加空格。您只需给它一个值列表(字符串或浮点数)这将为您提供一个文件开始:
相关问题 更多 >
编程相关推荐