-
通过XShell远程连接数据库
-
保存待处理数据:
select [column_name] from [table_name] into outfile 'data.txt'
- 打开数据文件保存位置,复制文件到本地
sz data.txt
- 操作数据文件
import re
with open('data.txt', 'r', encoding='utf-8-sig') as f:
for item in f.readlines():
s = re.sub(r'\(', '', item)
s = re.sub(r'L,\)', '\n', s).strip()
lst = s.split('\n')
print(lst)
data.txt文件包含数据如下:
(43170L,)(119720L,)(34860L,)(11070L,)(14340L,)
import pandas as pd
import numpy as np
conn = pyodbc.connect(r'DRIVER={SQL Server Native Client 10.0};SERVER=.;DATABASE=数据库名字;UID=用户名;PWD=密码')
cur = conn.cursor()
sqlcom = '...
问题:想将从数据库取出的数据转成自己想要的格式。取出的数据是QuerySet对象info = testcase_info.objects.filter(id=db_id)取出的不是对象,不能直接取到表中具体字段的值。info = testcase_info.objects.get(id=db_id)通过get可以直接取到对象,然后后面就轻松了。还有注意的是,取到的字段数据都是str类型的,想要变成...
cursor.execute(sql)
elems = cursor.fetchall()
resultlist = list(chain.from_iterable(elems))
使用python读取一些文件内容然后再用python帮助我们处理这些数据是节省时间提高效率一种方法。
比如我这里有有一段数据在文件processed.cleveland.data中:
63.0,1.0,1.0,145.0,233.0,1.0,2.0,150.0,0.0,2.3,3.0,0.0,6.0,0
67.0,1.0,4.0,160.0,286.0,0.0,2.0,108.0,1.0,1.5,2.0,3.0,3.0,2
67.0,1.0,4.0,120.0,229.0,0.0,2.0,129.0,1.0
packagecom.hewen.dao.manage;importjava.lang.reflect.InvocationTargetException;importjava.lang.reflect.Method;importjava.lang.reflect.Type;importjava.sql.Connection;importjava.sql.PreparedStateme...
公司的数据分析师,提交一个sql, 一般都三四百行。由于数据安全的需要,不能开放所有的数据库和数据表给数据分析师查询,所以需要解析sql中的数据库和表,与权限管理系统中记录的数据库和表权限信息比对,实现非法查询的拦截。
解决办法:
在解决这个问题前,现在github找了一下轮子,发现python下面除了sql parse没什么好的解析数据库和表的轮轮。到是在java里面找到presto-parser解析的比较准。于是自己结合sql parse源码写了个类,供大家参考,测试了一下,检测还是准的。
测试sql
select
b.product_name "产品",
count(a.ord