Python CSV大数据分块读取教程:chunksize不爆内存
用pandas chunksize分块读取GB级CSV,逐块处理、聚合、导出,解决一次性读入内存不够的问题,附完整可运行代码。
场景痛点
拿到一份2GB的用户行为CSV,直接 pd.read_csv 内存直接占
用pandas chunksize分块读取GB级CSV,逐块处理、聚合、导出,解决一次性读入内存不够的问题,附完整可运行代码。
场景痛点
拿到一份2GB的用户行为CSV,直接 pd.read_csv 内存直接占
把CSV表格转成JSON数组或指定结构,用csv模块或pandas to_json,支持指定根key、中文不转义,附完整代码。
场景痛点
前端要调接口拿数据,但手里只有一份CSV;或者要把CSV喂给只吃JSO
用requests请求网页API接口,解析返回的JSON数据,自动提取字段并存成CSV,支持分页、请求头、错误重试,附完整代码。
场景痛点
要从开放API抓一批数据,浏览器里一个接口一个接口点
用astype把DataFrame列在int、float、str、category之间转换,配合pd.to_numeric、pd.to_datetime处理脏数据类型,避免入库和计算报错。
场景痛点
读进来的Excel,金额列全是obje
用pandas的read_sql、to_sql一行代码把DataFrame写入SQLite,再用read_sql_query把表读回DataFrame,告别手写SQL游标循环。
场景痛点
用sqlite3原生API写数据,要自己拼INSERT语
用Python内置sqlite3模块完成SQLite数据库的建表、插入、查询、更新、删除全流程,代码可直接运行,适合办公自动化数据落库场景。
场景痛点
做报表、跑脚本经常要把中间结果存
讲解用requests批量抓取多个网页完整HTML保存到本地,自动建目录、按URL生成文件名,方便离线归档、备份网页内容、做本地镜像。
场景痛点
工作中遇到重要网页想留档:规章制度页
用requests以流式方式下载网络图片到本地,处理大文件边下边存不占内存,自动识别扩展名,适合批量保存素材、图标、照片。
场景痛点
设计稿里有几十张配图、产品库有几百张主图,手
讲解requests用data字典提交POST表单,模拟网页登录、评论、搜索提交等场景,对比GET与POST区别,附带异常处理。
场景痛点
工作中经常遇到需要"点按钮提交"的场景:批量提交工单、
Python 脚本设置开机自启动,Windows 用启动文件夹和注册表、Linux 用 systemd 服务、Mac 用 LaunchAgent,配合 nohup 实现无人值守常驻运行。
场景痛点
写好一个定时任务或监
用 Python Pillow 批量给大图生成小尺寸缩略图,按最长边限制、自动等比缩放、保留原图,适合网站相册、商品列表、文件管理器预览。
场景痛点
做相册站、商品列表、文件管理系
Python 用 schedule 库实现每天定点运行脚本,支持早上9点跑日报、晚上12点清数据,给出完整可运行代码和常见坑,配合后台运行让任务无人值守。
场景痛点
每天早上要手动跑一次数
Python 用 random 批量造中文姓名、11 位手机号、邮箱等测试数据,导出成 CSV 表格,适合后端联调、压测、数据库初始化,附完整代码。
场景痛点
后端接口联调、压测、数据库初始
Python schedule 库实现定时任务调度,支持分、时、天、周几等多种触发方式,配合 while 循环跑后台任务,适合数据抓取、报表生成、定时提醒等办公自动化场景。
场景痛点
每天到
Python matplotlib画柱状图后在每根柱子顶部添加数值标签,解决柱高对比不直观的问题,含横置柱状图标签位置调整,代码完整可运行。
场景痛点
画完柱状图,读者只能靠柱子高度估数
用Python matplotlib画折线图的完整教程,包含中文乱码解决、标记点、坐标轴标签、网格线和保存图片,可直接复制运行,适合数据趋势分析入门。
场景痛点
做周报月报时,最常干的一
用Python pyecharts生成交互式柱状图,鼠标悬停显示数值、可缩放、可导出图片,输出HTML文件直接浏览器打开,代码完整可运行。
场景痛点
matplotlib画的柱状图是静态图片,发给领导
用 Pillow + PyPDF2/reportlab 给 PDF 加文字或图片水印,并把多张图片按 A4 排版合并成一个带水印的 PDF,适合合同、发票、扫描件批量处理。
场景痛点
合同、扫描件、产品图要
用 Pillow 把姓名批量渲染成带手写字体、透明背景的电子签名 PNG,支持指定字体、字号、颜色、倾斜角度,适合合同、审批单批量盖章。
场景痛点
HR 批量做劳动合同、采购审批单,
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
plt.rcParams['axes.unicode_minus&
from wordcloud import WordCloud
import jieba
def make_wordcloud(text_file, output='wordcloud.png'):
with open(text_file, 'r', encoding='
import os def folder_size(path): total = 0 for root, _, files in os.walk(path): for name in files: try: total += os.path.
import os
import hashlib
from collections import defaultdict
def file_hash(path, chunk=8192):
h = hashlib.md5()
with open(path, 'rb') as f:
import osimport timefrom datetime import datetime def shutdown_at(hour, minute, restart=False): while True: now = datetime.now() if now.hour ==
import osimport requestsfrom bs4 import BeautifulSoupfrom urllib.parse import urljoin def download_images(url, folder='images'): os.makedirs(folder,
import subprocess
import os
def compress_video(src, dst, crf=28):
"""crf 越大压缩越狠,18~28 之间比较合适"""
cmd = [
'ffmpeg', '-i
import os
from moviepy.editor import VideoFileClip
def video_to_audio(folder):
for name in os.listdir(folder):
if not name.lower().endswith(('.
from gtts import gTTS def text_to_speech(text, output='output.mp3', lang='zh-cn'): tts = gTTS(text=text, lang=lang, slow=False) tts.save(o
import os
import pytesseract
from PIL import Image
# Windows 需指定 tesseract 路径
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR
from pypdf import PdfReader, PdfWriter
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import A4
import io
def add_pdf_watermark(src, dst, tex