当我输出到excel时,试图删除方括号和撇号的数据帧列表

时间:2017-03-05 16:56:09

标签: python list pandas dataframe

我很成功,将我的数据框输出到excel中,但是我想删除额外的不需要的括号和撇号。

data1 = [x.split(',') for x in self.ismyFirstrange1]
    data2 = [y.split(',') for y in self.isFirst1]
    dataf1 = pd.DataFrame({'range 2456500 - 2556499': data1})
    dataf2 = pd.DataFrame({'range 2456500 - 2556499': data2})
    frames = [dataf1, dataf2]


    result = pd.concat(frames, keys=['firstRange', 'secondRange'], axis=1, join='inner')
    pprint(result)

    df = pd.DataFrame(result)
    writer = pd.ExcelWriter('outputbarcode.xlsx')
    df.to_excel(writer, 'Sheet1')

    writer.save()

输出到excel看起来像这样:

       A
 1    ['2506588']
 2    ['2540181']
 3    ['2553486']
 4    ['2540181']
 5    ['2540389']
 6    ['2553384']

我想要它

      A
 1    2506588
 2    2540181
 3    2553486
 4    2540181
 5    2540389
 6    2553384

我意识到,我需要str,在某处替换它,但不确定它是如何完成的。 请帮忙

2 个答案:

答案 0 :(得分:0)

尝试预处理第一列:

df.iloc[:, 0] = df.iloc[:, 0].str[0].astype(int)

答案 1 :(得分:0)

如果值是列表:

df['column name'] = df['column name'].str[0].astype(int)

如果是字符串:

df['column name'] = df['column name'].str.strip('[]').astype(int)

您可以通过以下方式查看:

print (type(df['column name'].iloc[0]))

你也可以省略:

df = pd.DataFrame(result)

因为result也是DataFrame

所以:

result = pd.concat(frames, keys=['firstRange', 'secondRange'], axis=1, join='inner')
#if need reset index to default
result = result.reset_index(drop=True)
pprint(result)

writer = pd.ExcelWriter('outputbarcode.xlsx')
result.to_excel(writer, 'Sheet1')