使用 python 或宏字的文字处理文本
Word processing text with python or macro word
我不是一个好的程序员,老实说,在这种情况下我找不到合适的解决方案。
我有一个源自视频字幕的文本文件,我想创建一个更方便的文本文件。我在这里插入一个 gif 来显示我想做什么。
我用 word office 创建了一个宏 VB 但它并不令我满意。
您对此有什么建议吗?
简单宏 Word Office
Sub Macro1()
'
' Macro1 Macro
'
'
Selection.TypeBackspace
Selection.TypeBackspace
Selection.TypeText Text:=" "
End Sub
简单文本:
a casa il curare la persona a casa
limita anche e razionalizza i costi
della sanità è il paziente e il nostro
familiare che ripeto come dicevo prima è
limitato nel suo corpo e del riciclo in
tutto l'amore di questo mondo quindi
questo è un qualcosa che noi perché per
noi deve diventare come dicevo prima un
obbligo uno stato non deve essere un
qualcosa che dobbiamo fare e siamo
obbligati a farlo chi è già sfortunato
ripeto da chi sicuramente non lo è deve
essere aiutato il tutti quanti modi
necessita per questo o per questa
problematica voi un'idea ce l'avete
简单的文本输出:
a casa il curare la persona a casa limita anche e razionalizza i costi della sanità è il paziente e il nostro familiare che ripeto come dicevo prima è limitato nel suo corpo e del riciclo in tutto l'amore di questo mondo quindi questo è un qualcosa che noi perché per noi deve diventare come dicevo prima un obbligo uno stato non deve essere un qualcosa che dobbiamo fare e siamo obbligati a farlo chi è già sfortunato ripeto da chi sicuramente non lo è deve essere aiutato il tutti quanti modi necessita per questo o per questa problematica voi un'idea ce l'avete
这是一种方法:
- 将整个文件读入行列表,并删除行之间的换行符。
- 写一个新文件,通过将所有这些行连接成一个由 space 字符分隔的长行。
with open("separate_lines.txt", "r") as file:
lines = file.read().splitlines()
with open("merged_lines.txt", "w") as file:
file.write(' '.join(lines) + '\n')
print('done')
这是另一种稍微复杂一点的方法,它一次一行地迭代处理文件,这样就无需一次将整个文件读入内存:
with open("separate_lines.txt","r") as inp, open("merged_lines.txt","w") as outp:
outp.write(next(inp).rstrip()) # Read and write first line.
for line in inp:
outp.write(' ' + line.rstrip()) # Write following lines prefixed with a space.
outp.write('\n') # End output file with a single newline.
print('done')
我不是一个好的程序员,老实说,在这种情况下我找不到合适的解决方案。
我有一个源自视频字幕的文本文件,我想创建一个更方便的文本文件。我在这里插入一个 gif 来显示我想做什么。
我用 word office 创建了一个宏 VB 但它并不令我满意。
您对此有什么建议吗?
简单宏 Word Office
Sub Macro1()
'
' Macro1 Macro
'
'
Selection.TypeBackspace
Selection.TypeBackspace
Selection.TypeText Text:=" "
End Sub
简单文本:
a casa il curare la persona a casa
limita anche e razionalizza i costi
della sanità è il paziente e il nostro
familiare che ripeto come dicevo prima è
limitato nel suo corpo e del riciclo in
tutto l'amore di questo mondo quindi
questo è un qualcosa che noi perché per
noi deve diventare come dicevo prima un
obbligo uno stato non deve essere un
qualcosa che dobbiamo fare e siamo
obbligati a farlo chi è già sfortunato
ripeto da chi sicuramente non lo è deve
essere aiutato il tutti quanti modi
necessita per questo o per questa
problematica voi un'idea ce l'avete
简单的文本输出:
a casa il curare la persona a casa limita anche e razionalizza i costi della sanità è il paziente e il nostro familiare che ripeto come dicevo prima è limitato nel suo corpo e del riciclo in tutto l'amore di questo mondo quindi questo è un qualcosa che noi perché per noi deve diventare come dicevo prima un obbligo uno stato non deve essere un qualcosa che dobbiamo fare e siamo obbligati a farlo chi è già sfortunato ripeto da chi sicuramente non lo è deve essere aiutato il tutti quanti modi necessita per questo o per questa problematica voi un'idea ce l'avete
这是一种方法:
- 将整个文件读入行列表,并删除行之间的换行符。
- 写一个新文件,通过将所有这些行连接成一个由 space 字符分隔的长行。
with open("separate_lines.txt", "r") as file:
lines = file.read().splitlines()
with open("merged_lines.txt", "w") as file:
file.write(' '.join(lines) + '\n')
print('done')
这是另一种稍微复杂一点的方法,它一次一行地迭代处理文件,这样就无需一次将整个文件读入内存:
with open("separate_lines.txt","r") as inp, open("merged_lines.txt","w") as outp:
outp.write(next(inp).rstrip()) # Read and write first line.
for line in inp:
outp.write(' ' + line.rstrip()) # Write following lines prefixed with a space.
outp.write('\n') # End output file with a single newline.
print('done')