如何将无列名的JSON数组表格转换为标准DataFrame
如何将独立JSON对象转换为标准DataFrame
嘿,这事儿用pandas处理起来超简单!你只需要把这些零散的JSON对象整理成一个列表,或者直接读取每行一个JSON的文件,pandas会自动帮你生成带指定列的DataFrame。
方法1:手动整理数据成列表后转换
如果你的数据已经在代码里了,先把每个JSON对象放到一个Python列表中,然后直接传给pd.DataFrame()就行——pandas会自动识别每个JSON的键作为列名,完美匹配你需要的id、signal、mode列:
import pandas as pd # 把你的JSON对象整理成列表 data_records = [ {"id":"v100","signal":"2017-10-02 03:30:00","mode":"online"}, {"id":"v100","signal":"2017-10-02 06:30:00","mode":"online"}, {"id":"v400","signal":"2017-10-03 03:30:00","mode":"online"}, {"id":"v400","signal":"2017-10-04 05:30:00","mode":"offline"} ] # 转换为DataFrame df = pd.DataFrame(data_records) # 查看结果 print(df)
运行后你会得到这样的输出:
id signal mode 0 v100 2017-10-02 03:30:00 online 1 v100 2017-10-02 06:30:00 online 2 v400 2017-10-03 03:30:00 online 3 v400 2017-10-04 05:30:00 offline
方法2:直接读取每行一个JSON的文件
如果你的数据是存储在文件里(每行一个独立JSON对象),那更省事,用pd.read_json()加上lines=True参数就能直接读取并转换:
import pandas as pd # 读取文件并转换 df = pd.read_json('你的数据文件.json', lines=True)
这个参数会告诉pandas按行解析JSON,自动把每行的JSON对象转换成DataFrame的一行,列名同样会自动从JSON键中提取。
内容的提问来源于stack exchange,提问作者Chris90
相关产品推荐
相关产品推荐

