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)
相关推荐
用户83562907805126 分钟前
使用 Python 对 Excel 工作表进行排序
后端·python
for_ever_love__1 小时前
MySQL 全文索引实战:FULLTEXT、ngram 中文分词与 MATCH AGAINST 到底该怎么用
java·python·mysql·全文检索·分词·索引·ngram
用户8356290780511 小时前
使用 Python 合并 PowerPoint 演示文稿
后端·python
weixin_461769401 小时前
VS Code 中创建 Jupyter 文件(.ipynb)
ide·python·jupyter
2601_966949651 小时前
多市场量化策略的数据接口应该如何设计:从数据层架构到策略接入
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
全栈弄潮儿2 小时前
Python实战第1期:Python环境搭建与第一个程序
python
心易行者2 小时前
Agent应用+API端点商业化进阶实战:从单体智能体到可付费调用的API全流程
运维·服务器·人工智能·python·apache
weixin199701080162 小时前
《1688图片空间API踩坑:img.upload 与 album.* 的防盗链与CDN缓存问题》(附Python源码)
开发语言·python·缓存
布吉岛的石头2 小时前
Java 程序员第 49 阶段11:Java 接 BERT:用 ONNX Runtime 做句向量推理
java·人工智能·python·深度学习·bert·transformer
第25小时记录2 小时前
数据结构与算法 -第 3 章 常用算法-动态规划
数据结构·python