Spark读取CSV文件时如何将第二行设为表头?
CSV跳过首行、将第二行设为表头的解决方案
示例数据
Loan||| Issue ID|Report Date|Pool ID|Loan ID 592029|31/03/2024|DTC1|65
解决方案
1. Python Pandas 处理
如果用Pandas加载数据,直接指定header=1即可,该参数表示将**原文件的第二行(索引从0开始计数)**设为表头,同时自动跳过第一行,从第三行开始加载数据:
import pandas as pd # 替换为你的CSV文件路径 df = pd.read_csv("your_file.csv", header=1)
注意:不要同时使用
skiprows=1和header=2,这会导致跳过原第一行后,误将原第三行设为表头,完全偏离需求。
2. Python 原生CSV模块处理
如果不需要Pandas,用标准库的csv模块也能实现:
import csv with open("your_file.csv", "r", newline="") as f: reader = csv.reader(f) # 跳过第一行 next(reader) # 读取第二行作为表头 headers = next(reader) # 读取所有数据行 data_rows = list(reader) # 若需要字典格式的数据集 with open("your_file.csv", "r", newline="") as f: # 先跳过第一行 next(f) # 用读取到的headers作为字段名创建DictReader dict_reader = csv.DictReader(f, fieldnames=headers) data_dict = list(dict_reader)
3. Excel 可视化处理
- 直接删除首行法:
- 打开CSV文件,选中第一行右键选择「删除」
- 选中当前第一行(原第二行),可通过「开始」→「冻结窗格」→「冻结首行」固定表头
- Power Query 加载法(更规范):
- 点击「数据」选项卡→「从文本/CSV」导入目标文件
- 在预览界面点击「转换数据」进入Power Query编辑器
- 点击「主页」→「删除行」→「删除顶部行」,输入
1删除首行 - 点击「主页」→「将第一行用作标题」
- 关闭并上载数据到Excel表格
内容的提问来源于stack exchange,提问作者poongodi tech
相关产品推荐
相关产品推荐

