split卡了个bug,我想取\\t后面的文字,我该怎么取,还望告知解决办法,十分gan谢


import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import re

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"#方便单个cell 输出多个结果
plt.rcParams['font.sans-serif'] = ['Simhei'] # 解决中文乱码问题
from matplotlib.pylab import style #自定义图表风格
style.use('ggplot')

import warnings
warnings.filterwarnings("ignore")#去掉没用的警告
df=pd.read_csv('d://data/new_jd/cm6/all_review/emotion/review1_all_info.csv',encoding='gbk',index_col=False)
df.head()

img

in1:df['value'][0:1]
out1:
0    32\t 本来很高兴准备520送给男朋友的 结果鞋子出现了一点问题只能换新 换新后到的鞋子还...
Name: value, dtype: object
in2:a=str(df['value'][0:1]).split('\\t')[0].split(' ')[4]#4个空格  
      print(a)
out2:'32'
in3:b=str(df['value'][0:1]).split('\\t')[1].split('\n')[0]#因为后面有属性name=value···我们要把它过滤
     print(b)
out3:' 本来很高兴准备520送给男朋友的 结果鞋子出现了一点问题只能换新 换新后到的鞋子还...'
**#但是当我建立for 循环的时候报错了,百思不得其解,求高人指点**
df1=df.copy()
emotion_list=[]
content_list=[]
for i in df['value']:
    #print(i)
    val=str(i).split('\\t')[0].split(' ')[0]
    emotion_list.append(val)
    emotion_list=[num.strip('\t') for num in emotion_list]
    #print(val)
for j in df1['value']:
    #print(j)
    rew=str(j).split('\\t')[1]
    #print(rew)
    content_list.append(rew)
len(emotion_list)
len(content_list)
报错如下:
IndexError                                Traceback (most recent call last)
<ipython-input-7-51de7adf31ec> in <module>
     10 for j in df1['value']:
     11     #print(j)
---> 12     rew=str(j).split('\\t')[1]
     13     #print(rew)
     14     content_list.append(rew)

IndexError: list index out of range

这是df数据
https://download.csdn.net/download/smh827571200/76647430

索引超出范围了。
你输入的数据没有 '\\t' ,分开后只有一个数,而你的索引却指向了第二位