import time

import requests
import pymysql
import datetime
import random
from hashlib import md5
import json now_date = datetime.datetime.now().strftime("%Y-%m-%d") appid = 'xxxxxxx' 你的id
appkey = 'xxxx' 你的key def make_md5(s, encoding='utf-8'):
return md5(s.encode(encoding)).hexdigest() def mysqlclient():
db = pymysql.connect(
host='127.0.0.1',
port=3306,
user='root',
passwd='123456',
db='jiale',
charset='utf8'
)
curses = db.cursor()
sql='SELECT id,zh_cont FROM report_data WHERE tid=%s AND ctime= "%s" AND is_fanyi=0' % (1,now_date) try: curses.execute(sql) report_data = curses.fetchall() db.close() return report_data except:
print("Error:da s b") #连百度翻译数据
def to_baidu():
from_lang = 'zh'
to_lang = 'en'
endpoint = 'http://api.fanyi.baidu.com'
path = '/api/trans/vip/translate'
url = endpoint + path salt = random.randint(32768, 65536)
content_list = mysqlclient() data_list = [row for row in content_list] for (id,query) in enumerate(data_list): sign = make_md5(appid + str(query[1]) + str(salt) + appkey)
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
payload = {'appid': appid, 'q': str(query[1]), 'from': from_lang, 'to': to_lang, 'salt': salt, 'sign': sign}
r = requests.post(url, params=payload, headers=headers)
time.sleep(1)
result = r.json() en_cont = result['trans_result'][0]['dst']
print('翻译:',en_cont)
id=query[0]
dd = en_cont to_insert(dd,id)
update_fanyi_status(id) def to_insert(en_cont, id):
try:
db = pymysql.connect(
host='127.0.0.1',
port=3306,
user='root',
passwd='123456',
db='jiale',
charset='utf8'
)
cursor = db.cursor()
sql = "UPDATE report_data SET en_cont = %s WHERE id = %s"
cursor.execute(sql, (en_cont, id))
print('塞进去一条id:',id)
db.commit()
except pymysql.MySQLError as e:
print("Error: report_data update error", e)
db.rollback()
return False
finally:
if cursor:
cursor.close()
if db:
db.close()
return True def update_fanyi_status(id):
try:
db = pymysql.connect(
host='127.0.0.1',
port=3306,
user='root',
passwd='123456',
db='jiale',
charset='utf8'
)
cursor = db.cursor()
sql = "UPDATE report_data SET is_fanyi = 1 WHERE id = %s"
cursor.execute(sql, (id))
print('更新了一条id:',id)
db.commit()
except pymysql.MySQLError as e:
print("Error: report_data update error", e)
db.rollback()
return False
finally:
if cursor:
cursor.close()
if db:
db.close()
return True if __name__ == '__main__': to_baidu()

python 读取数据调翻译更新表字段的更多相关文章

  1. 其它课程中的python---6、python读取数据

    其它课程中的python---6.python读取数据 一.总结 一句话总结: 记常用和特例:慢慢慢慢的就熟了,不用太着急,慢慢来 库的使用都很简单:就是库的常用函数就这几个,后面用的时候学都来得及. ...

  2. sql server 跨IP库更新表字段(OPENDATASOURCE 、update)

    --跨ip库更新表字段 update uat set goodsType=dev.goodsType from OPENDATASOURCE('SQLOLEDB','Data Source=127.0 ...

  3. oracle 批量更新表字段

      (一) 将数字替换成汉字 第一步,去重查询 使用distinct关键字先对该字段值进行去重查询,看共有几种情况 --查询指定区间内表停诊字段的值 SELECT DISTINCT T.CLOSE_T ...

  4. python读取数据写入excel的四种操作

    Python对Excel的读写主要有:xlrd.xlwt.xlutils.openpyxl.xlsxwriter几种 xlutils结合xlrd: 操作的是以xls后缀的excel,读取文件保留原格式 ...

  5. Python 读取数据

    将一个文件夹下面的图像和对应的pts读进来,然后把pts文件里面的数据读入一个数组,然后画到图像上: # -*- coding:utf- -*- """ 测试数据样例 & ...

  6. python读取数据文件:pandas包详解

    本文转载自https://blog.csdn.net/brucewong0516/article/details/79092579 pandas包是一个高效的文件读取工具,适用于txt,excel,等 ...

  7. SQL 从一个表读取数据存到另一个表

    原来没有的创建的表select * into 表A form 表B where条件 原来存在的表insert into 表A select * from 表B where 条件 INSERT INTO ...

  8. python读取数据

    #读取一行数据,去掉头尾空格 line = sys.stdin.readline().strip() #line类型为字符串 #字符串变成列表 line = sys.stdin.readline(). ...

  9. python读取数据写入excel

    '''写入excel文件''' import xlsxwriter # todo 创建excel文件 xl = xlsxwriter.Workbook(r'D:\testfile\test.xlsx' ...

  10. mysql timestamp为0值时,python读取后的对象为None

    MySQL数据表中,如果timestamp类型的字段,值为0, python从数据库读取数据后,得到对象是什么类型,是否为None呢? 下面来测试下. 创建数据表 首先创建数据表,其中字段pr_rul ...

随机推荐

  1. Golang面试题从浅入深高频必刷「2023版」

    大家好,我是阳哥.专注Go语言的学习经验分享和就业辅导. Go语言特点 Go语言相比C++/Java等语言是优雅且简洁的,是我最喜爱的编程语言之一,它既保留了C++的高性能,又可以像Java,Pyth ...

  2. [NOIP 考前备战] 线段树刷题

    备战线段树 T1 AcWing .1275. 最大数 查询最大值 + 单点修改 #include <bits/stdc++.h> #define int long long using n ...

  3. matlab实现频谱感知-认知无线电

    1.前言 \(\quad\) 频谱感知的方法有很多,比如匹配滤波探测,能量检测,静态循环特征探测等方法,然后最近因为在用硬件做能量检测,所以本文主要是说了如何用matlab实现能量检测,它的大概流程就 ...

  4. Educational Codeforces Round 104 (Rated for Div. 2) A~E题解

    写在前边 链接:Educational Codeforces Round 104 (Rated for Div. 2) A. Arena 链接:A题链接 题目大意: 给定一个长度为\(n\)的数组,表 ...

  5. python之字符串format()方法

    format()方法就是格式化指定的值,然后再将其插入字符串的占位符内 占位符用大括号{}来定义哈,可以使用命名索引{sws}.编号索引{0}.甚至空的占位符{}来标识占位符. 语法就是 string ...

  6. FreeSWITCH在answer前主动发dtmf

    操作系统 :CentOS 7.6_x64 FreeSWITCH版本 :1.10.9 NAT环境的主动外呼场景下,会遇到线路侧回铃音数据无法接收的问题,需要FreeSWITCH主动发送RTP数据,发送D ...

  7. 使用Redis实现一个分布式的全局ID

    当然实现方式有很多中,这里主要是记录一下使用Redis的实现方式 import lombok.extern.slf4j.Slf4j; import org.springframework.beans. ...

  8. NC65获取Token以及相关信息

    private static void setToken() { IPriviledgedGenerator tokenGenerator = (IPriviledgedGenerator) Busi ...

  9. vue获取公网ip

    <template> <div> <div>Your Public IP: {{publicIP}}</div> </div> </t ...

  10. .Net 系列:Attribute特性的高级使用及自定义验证实现

    一.特性是什么?特性有什么用? 特性(Attribute)是用于在运行时传递程序中各种元素(比如类.方法.结构.枚举.组件等)的行为信息的声明性标签. 您可以通过使用特性向程序添加声明性信息.一个声明 ...