在python中导入csv行

时间:2016-06-09 02:43:00

标签: python-2.7 csv

我有一个这种形式的csv(test.csv)文件:

> name age gender grade
  A    1   M      85 
  B    2   F      95 
  C    3   M      95

并拥有以下代码:

myfile = open(testcsvfilepath) 
    columnheader= myfile.readline()
    rowentries= myfile.readlines()
    myfile.close()
    for rowentry in rowentries:
        print rowentry 

打印的行始终以''而且我不知道为什么。我错过了什么或者我能做些什么来消除它? 结果如下:

['"']
['A','1','M','85']
['B','2','F','95']
['C','3','M','95']

1 个答案:

答案 0 :(得分:0)

无论何时从python中读取文件,它都会在您的程序中出现在引号之间,因为它代表string

你可能想检查一下:

  

5.6。序列类型 - str,unicode,list,tuple,bytearray,buffer,xrange

     

字符串文字用单引号或双引号书写:'xyzzy',   “frobozz”。有关字符串文字的更多信息,请参阅字符串文字。统一   字符串很像字符串,但在语法中使用a指定   在'u'字符之前:u'abc',u“def”。

考虑使用CSV library

如果您担心csv的报价处理,则会有一个现有的帖子here

但是documentation states

  

Dialect.skipinitialspace当为True时,紧跟着空格   分隔符被忽略。默认值为False。

例如:

import csv

with open(name, 'rb') as f:
     for row in csv.reader(f, delimiter=' ', skipinitialspace=True):
             print row