json文件內(nèi)容是從豆瓣電影中爬取的用戶評(píng)論
上代碼
import pandas as pd
import numpy as np
filepath='C:/python/data_src/CommentsSpider.json'
data=pd.read_json(filepath,orient='values',encoding='utf-8')
若json文件中有中文,必須加上encoding參數(shù),賦值'utf-8',否則會(huì)報(bào)錯(cuò)
看數(shù)據(jù)發(fā)現(xiàn)有些不對(duì)勁蜡坊,雖然pandas read_json都出了json文件內(nèi)容,但每個(gè)單元格都是一個(gè)list列表赎败,我們需要將所有這些列表展開秕衙,生成新的dataframe
展開方法比較粗暴,遍歷每個(gè)的單元格僵刮,一個(gè)一個(gè)展開据忘。
def frame(i):
j=0 #初始化j
col_index=[] #初始化col_index
for j in range(len(data.columns)):
col_index.append(data.iloc[i,j])
data_index=pd.DataFrame(col_index,index=data.columns).T
#col_index是要給Series列表,把Series列表轉(zhuǎn)換為DataFrame表格
return data_index
df_all=pd.DataFrame(columns=data.columns) #初始化一個(gè)空的dataframe
i=0 #初始化i
for i in range(len(data.index)):
df_one=frame(i)
df_all=df_all.append(df_one) #append()方法不會(huì)改變?cè)导梭希枰M(jìn)行重新賦值
運(yùn)行上述代碼后若河,正確的結(jié)果如下圖所示,是我們想要的寞宫。