循环浏览csv文件中的单词并在python中替换

2024-09-30 22:14:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含三列的csv文件,即(cid、ccontent、value)。我想循环浏览ccontent列中的每个单词,并分别翻译这些单词

我找到了翻译一行的代码,但我想翻译每个单词,而不是这一行。 How to write a function in Python that translates each row of a csv to another language?

from googletrans import Translator
import pandas as pd

headers = ['A','B','A_translation', 'B_translation']
data = pd.read_csv('./data.csv')
translator = Translator()
# Init empty dataframe with much rows as `data`
df = pd.DataFrame(index=range(0,len(data)), columns=headers)


def translate_row(row):
    ''' Translate elements A and B within `row`. '''
    a = translator.translate(row[0], dest='Fr')
    b = translator.translate(row[1], dest='Fr')
    return pd.Series([a.origin, b.origin, a.text, b.text], headers)


for i, row in enumerate(data.values):
    # Fill empty dataframe with given serie.
    df.loc[i] = translate_row(row)

print(df)

多谢各位


Tags: csvtoinimportdfdataas单词
1条回答
网友
1楼 · 发布于 2024-09-30 22:14:42

您可以使用list comprehension尝试以下方法:

def translate_row(row):
    row0bywords = [translator.translate(eachword, dest='Fr') for eachword in row[0]]
    orw1bywords = [translator.translate(eachword, dest='Fr') for eachword in row[1]]
    return row0bywords, row1bywords

相关问题 更多 >