嘿,我正在研究这个项目,我将这个文本翻译出来并将其存储回同一个CSV文件中。下一个打开的列位于索引10或列K.我一直在尝试编写数据,但我无法得到它。
阅读工作正常。我尝试将所有这些做到单个while循环但我无法让它工作。对不起任何格式错误!
from googletrans import Translator
import csv
translater = Translator()
f = open("@ElNuevoDia.csv", "r+")
csv_f = csv.reader(f)
csv_wf = csv.writer(f)
tmp = {}
x = 0
for row in csv_f:
tmp[x] = translater.translate(row[4], dest="en")
#print(tmp[x].text)
#print("\n")
#print(tmp[x].text)
x = x + 1
x = 0
f.close()
csv_wf = csv.writer(f)
for row in csv_wf:
csv_wf[10].writerow(tmp[x].text)
f.close()
答案 0 :(得分:0)
您应该更新阅读器中的行,然后将其写回(正如您在评论中提到的那样,编写器不可迭代)。类似的东西(代码的一部分):
for row in csv_f:
row[10] = translater.translate(row[4], dest="en")
tmp[x] = row
x = x + 1
x = 0
f.close()
csv_wf = csv.writer(f)
for row in tmp:
csv_wf.writerow(row)
f.close()
修改1:
对于文本变量,您可以这样做:
row[10] = translater.translate(row[4], dest="en").text
你可以一步写回来:
csv_wf.writerows(tmp)