python—有没有办法在输出文本文件的单词之间创建空格

zour9fqk  于 2021-09-29  发布在  Java
关注(0)|答案(1)|浏览(289)

我使用以下代码将youtube视频转录成文本,但结果有点奇怪。两个词之间没有空格,有些词连在一起。


# import libraries

from youtube_transcript_api import YouTubeTranscriptApi as yta
import re

# select any youtube video

vid_id = 'S4lTtvlFvyk'

# extract text

data = yta.get_transcript(vid_id)

# make your transcript more better

transcript=''
for value in data:
    for key,val in value.items():
        if key == 'text':
            transcript += val
l=transcript.splitlines()
final_tra = " ".join (l)

# write out transcript in the file

file=open(r"C:\Users\user.name\Desktop\python\DATA\Video files\trans.txt",'w')
file.write(final_tra)
file.close()

输出文件如下所示:
看看我,苹果的工程师们到绘图板上设计了一个更好的面具。苹果实际上为商店里的员工设计了一个全方位的面具。他们实际上有一个不同版本的对联,但这是一种标准。这是大多数员工都会戴的。苹果的大多数员工都会戴这个面具。我们有一些iPhone 12稍后的案例新闻在这段视频的结尾出现,所以请留心Willy doo成功了,加上lou later show楼下的一些观众与他取得了联系,所以匿名向他们大声喊叫这是官方问题问这是中等大小的可重复使用的面罩请了解更多信息visitwelcomeforward.apple.com让我疯狂的是 Package 上的东西,就像你可以看到的那样,非常苹果式。我们有一个看起来像序列号的东西,有一个项目号,一个批次号和生产日期,所以就像其他东西一样,这里应用了非常详细的东西,还有一种看起来有点超越的拆箱体验
有些单词相互合并,不会产生任何空间。请提供相应的解决方案。

e0bqpujr

e0bqpujr1#

这可能无法提供您想要的确切输出格式,但它更简洁,并克服了单词合并问题。如果您转储(打印)get_transcript()返回的词典,您将更好地了解发生了什么。

from youtube_transcript_api import YouTubeTranscriptApi as yta
import re

# select any youtube video

vid_id = 'S4lTtvlFvyk'

# make your transcript more better

transcript = []
for value in yta.get_transcript(vid_id):
    transcript.append(value['text'])

final_tra = ' '.join(transcript)

# write out transcript in the file

with open(r'C:\Users\user.name\Desktop\python\DATA\Video files\trans.txt', 'w') as outfile:
    outfile.write(final_tra)

相关问题