【问题标题】:Google Translate with a CSV file使用 CSV 文件进行 Google 翻译
【发布时间】:2019-07-11 07:38:22
【问题描述】:

我正在使用 CSV 文件处理 Python,我想将一些列转换为英语,我一直在使用谷歌翻译,但它指的是因为它们需要 JSON 文件,是否可以在 CSV 上使用谷歌翻译文件。

以下是我收到的错误:

import pandas as pd
import numpy as np
import goslate
from googletrans import Translator
from translate import Translator

df = pd.read_csv ("Johanna.csv", delimiter=',',encoding="ISO-8859-1")
df. head (20)
translator= Translator()
df['habitat']=[str(x) for x in df['habitat']]
df['habitat_en']=df['habitat'].map(lambda x:translator.translate (x, src="PT",dest="en").text) 

【问题讨论】:

  • 请正确格式化您的代码。还有,为什么不写一个从 csv 转换为 json 的脚本呢?
  • 尝试这样做得到了错误:JSONDecodeError: Expecting value: line 1 column 1 (char 0)
  • 谢谢@basilisk...我刚刚测试过,效果非常好!

标签: python pandas csv google-translate


【解决方案1】:

要翻译 CSV 文件,您需要:

  1. 使用pandas库读取文件。
  2. 逐一遍历文件中的所有单元格。
  3. 单独翻译每个单元格。

如果您还希望将翻译后的文档另存为新的 CSV 文件,您需要:

  1. 将每个翻译后的单元格保存到 Python 字典中。
  2. 将字典转换为 pandas DataFrame。
  3. 将 DataFrame 保存为新的 CSV 文件。

您的描述中提供的信息不多,但我已经准备了一些代码来满足您的要求。它会翻译 CSV 文件并将翻译后的 CSV 文件保存为名为 transaltedCSV.csv 的新 CSV 文件。你可以在 GitHub 中找到我的example code here

我的示例是使用包含两列的 CSV 文件。采取实施的想法并根据您的需要调整数字列。同时将column1column2 名称相应地更改为您的列名。


如果这不能解决您的问题,请提供更多详细信息。

【讨论】:

  • 这是我运行我编写的代码时的错误:"AttributeError: 'str' object has no attribute 'text'"
  • 另外,我尝试合并你建议的那个,我收到类似的错误“AttributeError:'str' object has no attribute 'csv'”
  • 我试图复制你的案例,但我遇到了同样的错误。显然.csv 不在字符串中。所以我猜测错误来自data = pd.read_csv('/home/cusnir/mine/translateCSV/test.csv') 行。请确保.csv 也包含在"" 中。
【解决方案2】:

我用同样的方法做同样的事情,就像我有一个 csv 文件,我在其中迭代列并单独翻译每个单元格。有什么方法可以使用相同的技术,因为我在一个 csv 和多个 csv 中至少有大约 300 个单元格,所以需要很多时间

【讨论】:

    猜你喜欢
    • 2014-07-14
    • 2014-04-21
    • 2018-08-30
    • 2021-01-13
    • 2011-03-24
    • 1970-01-01
    • 2015-07-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多