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

问题描述:

我成功,输出我的数据框到excel,但有额外的不需要的括号和撇号我想删除。试图删除方括号和撇号的数据框列表当我输出到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,地方代替它,但不知道是怎么回事完成。 请帮助

尝试预处理的第一列:

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

我转换他们的字符串,我想到了被海峡。 – johnobc

+0

@JohnOlegario不要将数据过早转换为字符串 - 如果需要,您将丢失可能需要转换数据的信息。 –

+0

它们被转换,所以我可以拆分它们中的数据。这是必要的,我成功的我需要实现的,只是当我输出到excel方括号出现 – johnobc

如果值列表:

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

如果字符串:

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

您可以通过检查:

还可以省略:

df = pd.DataFrame(result) 

因为resultDataFrame了。

所以:

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') 
+0

dataframe对象没有属性col? – johnobc

+0

col是列名 – jezrael

+0

什么返回'pprint(result.columns.tolist())'? – jezrael