今天来点实用的。
数据读取是数据分析的第一步,也是最基础的技能。但很多人在这一步就卡住了——文件格式不对、编码出错、读取太慢……
别急,这篇文章帮你一次性解决。
👇 看完本文你能学到什么?
1. 掌握数据读取的核心方法
2. 学会批量处理多个文件
3. 能独立完成数据导入导出
💡 文末有彩蛋:附赠20个常用数据处理代码片段
一、为什么要用pandas读取Excel?
pandas是Python数据分析的瑞士军刀。
用它读取Excel,只需要两行代码:
import pandas as pd df = pd.read_excel('文件.xlsx')对比openpyxl,pandas的优势:
• 自动识别数据类型
• 一行代码读取多个Sheet
• 内置数据清洗功能
• 读取速度快10倍以上
二、基础读取
import pandas as pd # 读取Excel文件 df = pd.read_excel('销售数据.xlsx') # 查看前5行 print(df.head()) # 查看数据基本信息 print(df.info()) print(df.describe())输出示例:
日期 销售额 客户 0 2024-01-01 12500 张三 1 2024-01-02 15800 李四 2 2024-01-03 9800 王五三、读取指定Sheet
# 读取指定的Sheet df = pd.read_excel('数据.xlsx', sheet_name='2024年') # 读取多个Sheet(返回字典) dfs = pd.read_excel('数据.xlsx', sheet_name=None) # 按Sheet索引读取(从0开始) df = pd.read_excel('数据.xlsx', sheet_name=0)四、读取指定列和行
# 只读取指定列 df = pd.read_excel('数据.xlsx', usecols=['日期', '销售额']) # 读取指定范围 df = pd.read_excel('数据.xlsx', usecols=[0, 1, 2]) # 跳过前几行 df = pd.read_excel('数据.xlsx', skiprows=2) # 只读取前100行 df = pd.read_excel('数据.xlsx', nrows=100)五、常见问题处理
Q1:中文列名乱码?
# 指定编码 df = pd.read_excel('数据.xlsx', encoding='utf-8')Q2:日期格式不对?
# 指定日期列 df = pd.read_excel('数据.xlsx', parse_dates=['日期'])Q3:读取太慢?
# 指定dtype减少内存 df = pd.read_excel('数据.xlsx', dtype={'数量': 'int32', '金额': 'float32'})今日小结
读取Excel:pd.read_excel('文件.xlsx')
读取指定Sheet:sheet_name='名称' 或 sheet_name=0
指定列:usecols=['列1', '列2']
指定行:skiprows=n / nrows=100
今日小练习
1. 读取你手头的一个Excel文件,用head()查看前10行
2. 尝试只读取其中的2-3列
3. 用info()查看数据类型是否正确
有问题的朋友,评论区见!
📌 往期精选:
👉 读取指定Sheet和单元格区域
🔔 关注公众号,回复「openpyxl」领取:openpyxl学习手册
(点击公众号底部菜单 → 领取资料)
夜雨聆风