如何使用python

时间:2019-06-20 07:38:07

标签: python excel

我附上了我的Excel工作表的屏幕截图。我想将每个字符串的长度存储在SUPPLIER_id Length列中。但是,当我运行代码时,CSV列为空白。

当我在不同的CSV中使用相同的代码时,效果很好。

我正在使用以下代码,但无法打印数据。

我附上了csv的代码段。有人可以告诉我为什么会这样吗:

enter image description here

import pandas as pd    
data = pd.read_csv(r'C:/Users/patesari/Desktop/python work/nba.csv')    
df = pd.DataFrame(data, columns= ['SUPPLIER_ID','ACTION'])    
data.dropna(inplace = True)    
data['SUPPLIER_ID']= data['SUPPLIER_ID'].astype(str)    
data['SUPPLIER_ID LENGTH']= data['SUPPLIER_ID'].str.len()    
data['SUPPLIER_ID']= data['SUPPLIER_ID'].astype(float)    
data    
print(df)    
data.to_csv("C:/Users/patesari/Desktop/python work/nba.csv")

2 个答案:

答案 0 :(得分:1)

我过去也遇到过类似的问题。

代替:

df = pd.DataFrame(data, columns= ['SUPPLIER_ID','ACTION']) 

输入此内容:

data.columns=['SUPPLIER_ID','ACTION']

此外,我不明白您为什么创建DataFrame df。我认为这是不必要的。

答案 1 :(得分:0)

您不是从熊猫那里得到了SettingWithCopyWarning吗?我会想象(没有运行这段代码)这些行

data['SUPPLIER_ID']= data['SUPPLIER_ID'].astype(str)
data['SUPPLIER_ID LENGTH']= data['SUPPLIER_ID'].str.len()    
data['SUPPLIER_ID']= data['SUPPLIER_ID'].astype(float)  

不会做任何事情,应该替换为

data.loc[:, 'SUPPLIER_ID']= data['SUPPLIER_ID'].astype(str)  
data.loc[:, 'SUPPLIER_ID LENGTH']= data['SUPPLIER_ID'].str.len()    
data.loc[:, 'SUPPLIER_ID']= data['SUPPLIER_ID'].astype(float)