Python 选择字段中的列

Python 选择字段中的列,python,csv,pandas,multiple-columns,separator,Python,Csv,Pandas,Multiple Columns,Separator,下面是我的数据,我正在尝试访问一列。直到昨天,它还运转良好,但现在我不确定我是否做错了什么: DISTRICT;CPE;EQUIPMENT,NR_EQUIPM 0 47;CASTELO BRANCO;17520091VM;101

下面是我的数据,我正在尝试访问一列。直到昨天,它还运转良好,但现在我不确定我是否做错了什么:

    DISTRICT;CPE;EQUIPMENT,NR_EQUIPM
0   47;CASTELO BRANCO;17520091VM;101                                                                                                                                                                                                     
1   48;CASTELO BRANCO;17520103VV;160                                                                                                                                                                                                     
2   49;CASTELO BRANCO;17520103VV;160
当我尝试此操作时,它会给我一个错误:

df = pd.read_csv(archiv, sep=",")   
df['EQUIPMENT']  
错误:

关键错误:“设备”

我也在尝试,但也不起作用:

df.EQUIPMENT
错误:

AttributeError:“DataFrame”对象没有属性“EQUIPMENT”

顺便说一句,我正在使用:

Python 2.7.12 | Anaconda 4.1.1(32位)|(默认值,2016年6月29日), 11:42:13)[MSC v.1500 32位(英特尔)]


有什么想法吗?

您需要将sep更改为
,因为分隔符在
csv
中已更改:

df = pd.read_csv(archiv, sep=";") 
如果选中列的最后一个分隔符,则有
,因此可以使用两个分隔符-
,但必须添加参数
engine='python'
,因为警告:

ParserWarning:返回到“python”引擎,因为“c”引擎不支持正则表达式分隔符(分隔符>1个字符,与“\s+”不同的分隔符被解释为正则表达式);您可以通过指定engine='python'来避免此警告。 对于索引,df.iterrows()中的行:

样本:

import pandas as pd
import io

temp=u"""DISTRICT;CPE;EQUIPMENT,NR_EQUIPM
47;CASTELO BRANCO;17520091VM;101
48;CASTELO BRANCO;17520103VV;160
49;CASTELO BRANCO;17520103VV;160"""
#after testing replace io.StringIO(temp) to filename
df = pd.read_csv(io.StringIO(temp), sep="[;,]", engine='python')

print (df)
   DISTRICT             CPE   EQUIPMENT  NR_EQUIPM
0        47  CASTELO BRANCO  17520091VM        101
1        48  CASTELO BRANCO  17520103VV        160
2        49  CASTELO BRANCO  17520103VV        160

天哪,谢谢!它变了吗?上周我使用了
sep=',
。不管怎样,它确实起作用了!嗯,看起来好像
csv
已更改。新同事或新系统?是的。再次感谢。