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. 中兴GoldenDB(MYSQL)营运商SQL优化案例(超复杂SQL)

    陆老师好久没找我,今天他在营运商遇到2条性能慢的SQL,说找了好多专家老手看了都优化不了,然后就找到我打算给我玩玩. 第一次接触营运商行业的SQL,妈呦还真的复杂  SQL1: SELECT WORK ...

  2. idea的mybatis插件free mybatis plugin(或 Free MyBatis Tool),很好用

    为大家推荐一个idea的mybatis插件----free mybatis plugin(或 Free MyBatis Tool),很好用(个人觉得free mybatis plugin更好用一点,可 ...

  3. c#中命令模式详解

    基本介绍:   命令模式,顾名思义就是将命令抽象化,然后将请求者和接收者通过命令进行绑定.   而命令的请求者只管下达命令,命令的接收者只管执行命令.   从而实现了解耦,请求者和接受者二者相对独立. ...

  4. 推荐一个 AI 绘图工具!将草图变成精美的图片!

    大家好,我是 Java陈序员. 要说 2023 年科技圈什么最火,当属 ChatGPT!自从 ChatGPT 爆火之后,各种 AI 工具层出不穷.AI 对话.AI 写文案.AI 写代码..... 今天 ...

  5. [PostgreSQL]在group by查询下拼接列字符串

    首先创建group_concat聚集函数: CREATE AGGREGATE group_concat(anyelement) ( sfunc = array_append, -- 每行的操作函数,将 ...

  6. 【报错:For input string: ""报错: get connection error! 报错:java.lang.NullPointerException 报错:java.lang.NumberFormatException: For input string: "id"】解决方案

    原因:没有input数据进入,但是当我填写数据进入的时候 get connection error! 这个消息,是我要抛出去的异常,源代码下 我一开始觉得是代码书写的问题,找.......... 应该 ...

  7. 有什么巨好用Excel数据分析技巧?

    当涉及Excel数据分析时,以下是一些非常实用的技巧和功能,供您参考.这里将为您提供关于数据整理.数据清洗.统计分析.可视化和高级分析等方面的技巧. 一.数据整理与清洗: 导入数据:使用 Excel ...

  8. 地图选择器datav怎么使用?

    DataV 是一款基于阿里云的数据可视化产品,它提供了丰富的组件和功能,其中包括地图选择器.下面是一个详细的介绍: 1. 了解 DataV: - DataV 是一款强大的数据可视化工具,能够帮助用户将 ...

  9. MyBatisPlus简介

    MyBatisPlus特性 国内的一个网站 网站地址简介 | MyBatis-Plus (baomidou.com)

  10. Android阅读器之文本、图片和表格测量

    文章摘要 本文将介绍如何在Android开发中实现文本.图片和表格的测量.我们将使用Android Studio和Java语言,并利用Android SDK中的相关类库. 正文 文本测量 在Andro ...