1

我有一个这样的 csv 文件:

 ATTRIBUTE_1;.....;ATTRIBUTE_N  
 null;01;M;N;;N;1108;1;F205;;N;F;13;;N;S;2;N;6000000;;A010;40;B;2;10;42;N;;61;MI;01;N;N;S;;-1;N;N;01;;;;;;;;;;;;;;;;;;;;;;;;;;778,69
            null;01;M;N;;N;1108;1;F205;;N;F;13;;N;S;2;N;6000000;;A010;40;B;2;10;42;N;;61;MI;01;N;N;S;;-1;N;N;01;;;;;;;;;;;;;;;;;;;;;;;;;;778,71
            null;01;M;N;;N;1108;1;F205;;N;F;13;;N;S;2;N;6000000;;A010;40;B;2;10;42;N;;61;MI;01;N;N;S;;-1;N;N;01;;;;;;;;;;;;;;;;;;;;;;;;;;778,72

当我尝试使用此命令在 python 中导入时:

data = pd.read_csv(r"C:\...\file.csv")

我的输出是这样的:

0    null;01;M;N;;N;1108;1;F205;;N;F;13;;N;S;2;N;60...

如何按列导入 csv?像这样:

ATTRIBUTE_1   ATTRIBUTE_2 ....  ATTRIBUTE_N
   NULL            01              778,69
   NULL            01              778,71
   ...
   NULL            03               775,33
4

1 回答 1

0

你的每一行开始和结束都有问题",所以是必要的参数quoting=3,它意味着设置QUOTE_NONE

df = pd.read_csv('file.csv', sep=';', quoting=3)
#strip " from first and last column 
df.iloc[:,0] = df.iloc[:,0].str.strip('"')
df.iloc[:,-1] = df.iloc[:,-1].str.strip('"')
#strip " from columns names 
df.columns = df.columns.str.strip('"')

print (df.head())

  SIGLA TARGA  CATEGORIA TARIFFARIA - LIVELLO 3 SESSO  \
0        null                                 1     M   
1        null                                 1     M   
2        null                                 1     M   
3        null                                 1     M   
4        null                                 1     M   

  RCA - PATTO PER I GIOVANI  VALORE FRANCHIGIA TIPO TARGA  CILINDRATA  \
0                         N                NaN          N        1108   
1                         N                NaN          N        1108   
2                         N                NaN          N        1108   
3                         N                NaN          N        1108   
4                         N                NaN          N        1108   

   CODICE FORMA CONTRATTUALE RCA - RECUPERO COMUNE PRA  \
0                          1                      F205   
1                          1                      F205   
2                          1                      F205   
3                          1                      F205   
4                          1                      F205   

   CODICE WORKSITE MARKETING      ...       Unnamed: 55 Unnamed: 56  \
0                        NaN      ...               NaN         NaN   
1                        NaN      ...               NaN         NaN   
2                        NaN      ...               NaN         NaN   
3                        NaN      ...               NaN         NaN   
4                        NaN      ...               NaN         NaN   

   Unnamed: 57  Unnamed: 58 Unnamed: 59 Unnamed: 60  Unnamed: 61 Unnamed: 62  \
0          NaN          NaN         NaN         NaN          NaN         NaN   
1          NaN          NaN         NaN         NaN          NaN         NaN   
2          NaN          NaN         NaN         NaN          NaN         NaN   
3          NaN          NaN         NaN         NaN          NaN         NaN   
4          NaN          NaN         NaN         NaN          NaN         NaN   

   Unnamed: 63  PREMIO FINALE  
0          NaN         778,69  
1          NaN         778,70  
2          NaN         778,71  
3          NaN         778,72  
4          NaN         778,73  

[5 rows x 65 columns]
于 2017-10-19T06:58:34.847 回答