近期碰到一个问题,两套系统之间数据同步出了差错,事后才发现的,又不能将业务流程倒退,但是这么多数据手工处理量也太大了,于是决定用Python偷个小懒。
1、首先分析数据。
两边数据库字段的值都是一样,先将这边数据库的数据查询导出,正好是2列120多行的数据。那么目标就是拼接成update from_name set data= where id=格式,将导出内容中的第1列和第2列内容放到等号=后面即可。
2、下面开始动手。
前提肯定是要有一个python环境的,没有的去下载安装一个也很快。有了环境之后打开编辑器,这里用自带的IDLE或者pycharm都行,代码简单用哪个都不影响。
2.1 打开文件(注意文件存放路径),默认打开为r模式,seek(0):从起始位置读取内容。
2.2 读取文件中的数据,得到一个列表,用以for循环
输出f1查看数据格式,可以看出中间的制表符\t和换行符\n
2.3 先将列表内容的换行符\n替换为;,再从指标表\t位置进行切割,分开为两个字符。
输出结果:
2.4 然后就可以进行拼接了,使用最简单拼接方式,再将所有内容存到一个对象中
2.5 最后将成果封装写入到一个文件当中
检查电脑存放的路径中是否存在最终输出的文件,大功告成,11行代码就完了,简单粗暴又有效。
近期碰到一个问题,两套系统之间数据同步出了差错,事后才发现的,又不能将业务流程倒退,但是这么多数据手工处理量也太大了,于是决定用Python偷个小懒。1、首先分析数据。两边数据库字段的值都是一样,先将这边数据库的数据查询导出,正好是2列120多行的数据。那么目标就是拼接成update from_name set data= where id=格式,将导出内容中的第1列和第2列内容放到等号=后面即可...
我也⼀一时兴起,想拿
Python
试试⼑刀,看看
Python
对于海量
数据
的
处理
能⼒力如何。⽆无奈在百度和Google输⼊入“
Python
海量
数据
”都⽆无果。可能是国内使⽤用
python
的不多,
⽤用
python
处理
海量
数据
的就更少了。不过这浇灭不了我的欲望,哈哈
打算拿July的其中⼀一个问题来试验⼀一下
使用
Python
读取大容量的
数据
并存入
数据
库中一、读
数据
二、连接
数据
库1.在
数据
库中建立一个新的表2.将
数据
写入到
数据
库中3.检查
数据
是否正确
一、读
数据
我使用的是第三方包openpyxl进行
数据
的读取,读取的文件是xlsx格式的,如下:
from openpyxl import workbook
main_book = openpyxl.load_workbook(r'D:\final.xlsx')
main_sheet = main_book.active
row = main_sheet.max_r
hold on 气质这一块还没跟上 现在我只想说一句话!!!!
最近一直在做
数据
整理这一块的工作(就是将公司之前放在文档中的
数据
整理一下存到
数据
库中进行
数据
的实时查看)
终于在我费尽千幸万苦将
数据
妥妥的放到
数据
库中时,还有最后一项工作就可以完美收官了!(就是将日期转换成时间戳格式,刚开始还没想那么多,但是一想1...
如果对于sqlalchemy框架不会使用,可以看——
Python
操作MySql——使用SQLAlchemy ORM操作
数据
库
1 使用sqlalchemy 框架,连接
数据
库
from random import random
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String
在这个例子中,我们首先创建了一个ClickHouse客户端对象,并连接到本地主机的ClickHouse服务器。接着,我们创建了一个名为“example”的内存表,并准备了一些
数据
。
最后,我们使用`execute()`方法将
数据
批量
插入到ClickHouse表中。需要注意的是,我们使用了`VALUES`关键字,而不是`VALUE`,这是因为我们想要插入多个值,而不是单个值。
如果你的
数据
量很大,可以考虑使用ClickHouse的CSV格式
批量
加载
数据
,这可以更快地导入大量
数据
。以下是一个使用CSV格式
批量
导入
数据
的示例代码:
```
python
from clickhouse_driver import Client
client = Client(host='localhost', port=9000)
# 创建表
client.execute('CREATE TABLE example (id Int32, name String) ENGINE = Memory')
# 准备
数据
data = [(1, 'Alice'), (2, 'Bob'), (3, 'Charlie')]
# 将
数据
写入CSV文件
with open('example.csv', 'w') as f:
for row in data:
f.write(f'{row[0]},{row[1]}\n')
# 执行
批量
插入
client.execute('INSERT INTO example FORMAT CSV', open('example.csv', 'rb').read())
在这个例子中,我们首先创建了一个ClickHouse客户端对象,并连接到本地主机的ClickHouse服务器。接着,我们创建了一个名为“example”的内存表,并准备了一些
数据
。
然后,我们将
数据
写入CSV文件中,并使用`execute()`方法将CSV文件
批量
插入到ClickHouse表中。需要注意的是,我们使用了`FORMAT CSV`关键字,这告诉ClickHouse我们要使用CSV格式导入
数据
。