如何用Python和JSON统计数据集行数?现有代码误返回列数
问题解决:统计JSON数据集总行数出错
错误原因
你最后执行的len(query)得到的是单个数据条目(一行)的列数,因为query是你遍历data列表时的最后一个元素(对应数据集里的一行),不是整个数据集对象。
两种正确解决方案
方案1:基于已加载的JSON数据
你已经通过json.load(f)把整个数据集加载到了data变量中,这个变量是包含所有行数据的列表,直接取它的长度就是总行数:
import json import pandas as pd # 加载整个数据集 with open('./data/EE_points.json') as f: data = json.load(f) # 查看数据集列名(取第一个条目即可) if data: columns = data[0].keys() print("列名:", columns) # 查看前7行 print("前7行:") for row in data[:7]: print(row) # 统计总行数 total_rows = len(data) print("总行数:", total_rows)
方案2:用Pandas统一处理(更简洁高效)
既然已经用到了Pandas,完全可以用它完成所有操作,避免重复读取文件:
import pandas as pd # 读取JSON文件为DataFrame df = pd.read_json('./data/EE_points.json') # 查看列名 print("列名:", df.columns.tolist()) # 查看前7行 print("前7行:") print(df.head(7)) # 统计总行数 total_rows = len(df) # 也可以用df.shape[0],效果一致 # total_rows = df.shape[0] print("总行数:", total_rows)
内容的提问来源于stack exchange,提问作者Uri
相关产品推荐
相关产品推荐

