如何使用Pandas read_json跳过文件前几行读取数据?
解决方案:跳过JSON文件前两行读取指定列
方法1:通过文件对象直接跳过前两行
利用Python文件对象的迭代特性,先手动跳过前两行,再将剩余内容传给pd.read_json,同时指定要加载的列:
import pandas as pd with open('file.json', 'r') as f: # 跳过第一行和第二行 next(f) next(f) # 从第三行开始读取,仅保留A、B列 df = pd.read_json(f, lines=True, usecols=['A', 'B'])
方法2:用itertools.islice截取目标行
如果需要更灵活的行范围控制,可以借助itertools.islice生成从第三行开始的行迭代器,再传入pd.read_json:
import pandas as pd from itertools import islice with open('file.json', 'r') as f: # islice参数:起始索引为2(跳过前2行),None表示读到文件末尾 target_lines = islice(f, 2, None) df = pd.read_json(target_lines, lines=True, usecols=['A', 'B'])
关键说明
- 两种方法都不会加载全量文件到内存,仅读取从第三行开始的内容,节省内存开销。
usecols参数用于直接筛选需要的列,避免加载多余数据,该参数支持pandas 1.0及以上版本。
内容的提问来源于stack exchange,提问作者Cyril Vallez
相关产品推荐
相关产品推荐

