python批量将excel内容进行翻译、写入
1.首先是需要进行文件的读写操作,需要获取文件路径,方式使用os.listdir(路径)进行批量查找文件。
file_path = ‘/home/xx/xx/xx’
# ret 返回一个列表
ret = list_dir = os.listdir(file_path)
# 遍历列表,获取需要的结尾文件(只考虑获取文件,不考虑执行效率)
for i in ret :
if i.endswith('xlsx'):
# 执行的逻辑
2.改写一下我调用的翻译接口
def baidu_translate(appi, secretKe, content):
appid = appi
secretKey = secretKe
httpClient = None
myurl = '/api/trans/vip/translate'
q = content
fromLang = 'zh' # 源语言
toLang = 'en' # 翻译后的语言
salt = random.randint(32768, 65536)
sign = appid + q + str(salt) + secretKey
sign = hashlib.md5(sign.encode()).hexdigest()
myurl = myurl + '?appid=' + appid + '&q=' + urllib.parse.quote(
q) + '&from=' + fromLang + '&to=' + toLang + '&salt=' + str(
salt) + '&sign=' + sign
try:
httpClient = http.client.HTTPConnection('api.baidu_translation.baidu.com')
httpClient.request('GET', myurl)
response = httpClient.getresponse()
jsonResponse = response.read().decode("utf-8") # 获得返回的结果,结果为json格式
js = json.loads(jsonResponse) # 将json格式的结果转换字典结构
dst = str(js["trans_result"][0]["dst"]) # 取得翻译后的文本结果
print(dst) # 打印结果
return dst
except Exception as e:
print(e)
finally:
if httpClient:
httpClient.close()
3.现在需要进行读取excel的内容,使用方法,xlrd,小编使用的翻译是借用的百度翻译的API,获取excel内容,传递给API
import hashlib
import http.client
import json
import os
import random
import time
import urllib
import openpyxl
import xlrd
# 借用上边所述的文件路径操作
# appid :翻译API提供,需要注册获取
# secretKey :翻译API提供,需要注册获取
def read_excel(file_path, appid, secretKey):
list_dir = os.listdir(file_path)
for i in list_dir:
if i.endswith('.xlsx'):
# 拼接获取绝对路径
file_path = file_path + '\\' + i
rbook = xlrd.open_workbook(filename=file_path)
rbook.sheets()
# 获取excel某页数据
sheet1 = rbook.sheet_by_index(0)
row_num = sheet1.nrows
for num in range(row_num):
try:无锡看妇科的医院 http://www.ytsgfk120.com/
# 小编这样写的原因是我值获取指定列的数据,
# 例如现在获取第3,4列数据
txt1 = sheet1.cell_value(num, 3)
txt2 = sheet1.cell_value(num, 4)
# 为了2列数据可以同时进行翻译
txt = txt1 + '=' + txt2
# ret返回翻译结果
ret = baidu_translate(appid, secretKey, txt)
# 防止调用接口出错
time.sleep(1)
# 将翻译结果在写如excel
write_excel(ret, num, file_path)
except Exception as e:
print(e)
continue
4.因为上一步调用了这个写入excel的函数,所有我们需要写一个函数来完成写入的操作。
def write_excel(ret, num, file_path):
f_txt = file_path
book = openpyxl.load_workbook(f_txt)
sheet1 = book.worksheets[0]
# 在这个地方是获取某列写入
txtE = 'F' + str(num + 1)
txtF = 'G' + str(num + 1)
s_txt = ret.split('=')
sheet1[txtE] = s_txt[0]
sheet1[txtF] = s_txt[1]
book.save(f_txt)
if __name__ == '__main__':
appid = 'xxxx'
secretKey = 'xxxx'
path = r'xxx'
read_excel(path, appid, secretKey)
- 【Python小工具】Python实现批量解析PDF文件提取内容并写入到Excel中
- Python学习(2):复制Excel的文件名到此文件指定单元格里,并按文件内容行数写入,有几行写几行(文件需为excel)
- Python读取txt内容写入xlsx格式的excel中
- python将文件夹里所有的txt文件内容写入excel
- 【利用Python进行数据分析——经验篇4】将多张DataFrame表写入到同一个Excel的不同sheet中
- python数据清理——将excel单元格的内容写入到txt
- Python3--批量爬取数据之调用百度api进行翻译
- Python读取txt内容写入xls格式excel中的方法
- Python3--批量爬取数据之调金山词霸api进行翻译
- Python写入excel提示“excel中有不可读的内容”
- Python学习(4):文本文件内容比较并写入Excel文件或文本文件(以Json为例)
- 【Python】Python的urllib、urllib2模块调用“百度翻译”API进行批量自动翻译
- 【原创】上传EXCEL并把内容批量写入指定数据库
- 用Python将Word中的内容写入Excel
- yii2从excel文件中读取表格内容,并批量写入数据库
- python中对Excel进行写入操作,写入一列或者一行(从excel中读出label和feature对应格式方法以及插入一行或者一列方法实现)
- Python读取txt内容写入xls格式的excel中
- python 将txt内容写入excel
- 使用 Google API 进行翻译的 Python 小工具
- python---对python的help命令内容写入特定文件中