我有两列用逗号分隔的英文句子文本文件,并将它们翻译成另一种语言,每个翻译对在新行上显示,例如
i like cats,me gustan los gatos
hello,hola
我想打开该文件,只获取该对的第二部分(翻译),并列出这些翻译。我已经使用了显示的代码。但是,输出是总是在列表之后的末尾再次打印最后一个项目,这是我不希望的。
with open('translate_outputs.txt', newline ='') as translations:
translation_reader = csv.reader(translations, delimiter = ',')
for translation in translation_reader:
just_translation = translation[1].lower()
translation_list = []
translation_list.append(just_translation)
print(translation_list)
预期结果:
['me gustan los gatos']
['hola']
实际结果:
['me gustan los gatos']
['hola']
hola
答案 0 :(得分:1)
提供预期输出的代码的缩写版本。
(我删除了添加到列表的内容)
Mode <- function(x) {
ux <- unique(x)
ux[which.max(tabulate(match(x, ux)))]
}
data.frame(index, fruit) %>%
mutate(grouping = phonetic(fruit)) %>%
group_by(grouping) %>%
mutate(fruit = Mode(fruit))
# A tibble: 5 x 3
# Groups: grouping [2]
# index fruit grouping
# <dbl> <fct> <chr>
#1 1 Apple Pie A141
#2 2 Apple Pie A141
#3 3 Apple Pie A141
#4 4 Apple Pie A141
#5 5 Pear P600
输出
import csv
with open('translate_outputs.txt', newline='') as translations:
translation_reader = csv.reader(translations, delimiter=',')
for translation in translation_reader:
print(translation[1].lower())