Python 从Maxcompute导出海量数据到文本文件(txt)或Excel

由于直接从Maxcompute导出数据有条数限制,最多只能导出一万条,如果数据量太大,则不能直接从页面上导出。可以通过以下脚本把数据导出到文本文件或者Excel.

导出到文本文件脚本如下:

python 复制代码
# coding=utf-8
import datetime
from odps import ODPS
import time

odps = ODPS('access_key', 'access_secret', 'namespace',
            endpoint='http://service.cn-hangzhou.maxcompute.aliyun.com/api')
sql = "SELECT DISTINCT mobile FROM xxxx.sms  WHERE pt>='20250107' AND pt<='20250631';"

save_path = "/Users/xxxx/Desktop/mobiles.txt"

with open(save_path, 'w', encoding='utf-8') as f:  # 使用UTF-8编码打开文件
    # 写入表头(可选)
    # f.write("Mobile\n")
    
    with odps.execute_sql(sql).open_reader() as reader:
        for data in reader:
            # 使用制表符分隔数据,并用换行符分隔记录
            line = f"{data['mobile']}\n"
            f.write(line)

exit(0)

导出到Excel脚本如下:

python 复制代码
# coding=utf-8
import datetime
from odps import ODPS
import time
import xlwt
import openpyxl

odps = ODPS('access_key', 'access_secret', 'namespace',
            endpoint='http://service.cn-hangzhou.maxcompute.aliyun.com/api')
sql = " SELECT mobile, FROM xxx.sms WHERE pt>='20250801' AND pt<='20250804' ;"


outwb = openpyxl.Workbook()  # 打开一个将写的文件
outws = outwb.create_sheet(index=0)  # 在将写的文件创建sheet

i = 1
with odps.execute_sql(sql).open_reader() as reader:
    for data in reader:
        print(data)
        outws.cell(i, 1).value = data['mobile']
        i += 1
saveExcel = "/Users/xxx/Desktop/mobiles.xlsx"
outwb.save(saveExcel)  # 一定要记得保存

exit(1)
相关推荐
w_t_y_y2 分钟前
机器学习常用的python包(二)工具箱scikit-learn
python·机器学习·scikit-learn
用户83562907805112 分钟前
Python 自动拆分 Word 文档教程:按分节符与分页符处理
后端·python
陈天伟教授15 分钟前
心电心音同步分析-案例:原型设计一
开发语言·人工智能·python·语言模型·架构
我的xiaodoujiao15 分钟前
API 接口自动化测试详细图文教程学习系列9--Requests模块
python·学习·测试工具·pytest
Allen_LVyingbo17 分钟前
量子计算Dirac Notation基本教学—从零基础到读懂量子信息论文(下)
开发语言·人工智能·python·数学建模·量子计算
Dxy123931021642 分钟前
Python路径算法简介
开发语言·python·算法
躺平的赶海人1 小时前
python opencv实现相机内参标定之安装OpenCv
python·opencv·计算机视觉
满满和米兜1 小时前
【Java基础】-I/O-字符流
java·开发语言·python
echome8881 小时前
Python 装饰器详解:从入门到精通的 7 个实用案例
开发语言·python
子木HAPPY阳VIP1 小时前
【无标题】
java·python·mysql