大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
记录一下自己最近一段时间可能用不上的代码,免得以后再找起来麻烦。
-
pycharm连接数据库
首先在找到Database,选择连接自己下载的数据库软件。
填写完自己的数据库密码后,如果正确的话,就会出现下面这张图。
点下 “刷新” 按钮后即可连接数据库。
测试是否连接成功。
到这里基本完成了外部数据导入步骤。
2. 代码
import pymysql
import math
# 用来操作数据库的类
class climb_test_DataInput(object):
# 类的初始化
def __init__(self):
self.host = 'localhost'
self.port = 3306 # 端口号
self.user = '这里填你自己的数据库用户名' # 用户名
self.password = "这里填你自己的数据库密码" # 密码
self.db = "选择你创建的数据库" # 库
self.table = "选择你数据库中的某个表" # 表
# 链接数据库
def connectMysql(self):
try:
self.conn = pymysql.connect(host=self.host, port=self.port, user=self.user,
passwd=self.password, db=self.db, charset='utf8')
self.cursor = self.conn.cursor()
print('connect mysql successfully.')
except:
print('connect mysql error.')
# 查询数据
def queryMysql(self):
goal = "Date,Time,Longitude,Latitude,Altitude,TAS,Heading,x_next,y_next,z_next"
sql = "SELECT " + goal + " FROM " + self.table
try:
self.cursor.execute(sql)
row = self.cursor.fetchall()
Date = [x[0] for x in row]
Time = [x[1] for x in row]
# Longitude 转化为x
Longitude = [(x[2] * math.pi * 6378137 / 180) for x in row]
# Longitude = [x[2] for x in row]
# Latitude 转化为y
Latitude = [((math.pi * 6378137 * math.log(math.tan((90 + x[3]) * math.pi / 360)) / (
math.pi / 180)) / 180)
for x in row]
# Latitude = [x[3] for x in row]
# # Longitude 转化为x
# Longitude = [x[2] * math.pi * 6378137 / 180 for x in row]
# # Latitude 转化为y
# Latitude = [(math.pi * 6378137 * math.log(math.tan((90 + x[3]) * math.pi / 360)) / (math.pi / 180)) / 180
# for x in row]
Altitude = [x[4] * 0.3048 for x in row]
TAS = [x[5] for x in row]
Heading = [x[6] for x in row]
x_next = [(x[7] * math.pi * 6378137 / 180) for x in row]
# x_next = [x[9] for x in row]
y_next = [((math.pi * 6378137 * math.log(math.tan((90 + x[8]) * math.pi / 360)) / (
math.pi / 180)) / 180) for x in row]
# y_next = [x[10] for x in row]
z_next = [x[9] * 0.3048 for x in row]
'''转换'''
# Altitude = Altitude * 0.3048 # 英尺和米转换
# Longitude = math.pi * 6378137 * Longitude1 / 180
# Latitude = (math.pi*6378137*math.log(math.tan((90+Latitude1)*math.pi/360))/(math.pi/180))/180
# print(row)
print('query mysql successfully.')
# data = [Longitude, Latitude, Heading, TAS, d, sina, cosa]
return Date, Time, Longitude, Latitude, Altitude, TAS, Heading, x_next, y_next, z_next
except:
print(sql + ' execute failed.')
def closeMysql(self):
self.cursor.close()
self.conn.close()
print('climb_test_DataInput closed')
climb_test_DataInput = climb_test_DataInput()
climb_test_DataInput.connectMysql()
Date_test, Time_test, Longitude_test, Latitude_test, Altitude_test, TAS_test, Heading_test, x_next_test, y_next_test, z_next_test = climb_test_DataInput.queryMysql()
climb_test_DataInput.closeMysql()
上述为处理数据库中经纬度等位置数据的代码;
当其他文件调用该程序时,只需在其他文件头部添上最后四行代码即可。
3. 注意事项
- 当数据库显示无法连接时,请检查电脑中的 MySQL 服务是否打开(我使用的是mysql数据库,以此举例)。
具体方法是 在cmd窗口中输入services.msc
,在跳出的窗口中找到对应的服务。 - 当查询功能出现异常时,请检查自己在 goal 中写入的表名是否正确。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/175309.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...