当前位置: 首页 > 面试题库 >

在Python的字段中以逗号读取CSV文件

宇文温文
2023-03-14
问题内容

我需要阅读一个CSV文件,其中包含带有逗号的字段,因此我将包含逗号的字段加了双引号,例如:

1, "text1,text2", "text3, text4", a, b, c

但是,当我尝试在Python中读取文件时,得到的字段由逗号分隔,如下所示:

row[0] = 1
row[1] = text1
row[2] = text2
row[3] = text3
row[4] = text4
row[5] = a
row[6] = b
row[7] = c

我正在读取具有以下代码的CSV文件:

info = csv.reader(open('./info.csv'))  
for row in info :
    print row[0] + " * " + row[1] ...

是否可以读取包含逗号的双引号字段?


问题答案:

Pythoncsv模块实际上确实支持带引号的字段,即使默认情况下也是如此。您的问题在于,默认情况下,Python不会跳过空格,因此您需要使用skipinitialspace=True

>>> s = StringIO.StringIO('1, "text1,text2", "text3, text4", a, b, c')
>>> list(csv.reader(s, skipinitialspace=True))
[['1', 'text1,text2', 'text3, text4', 'a', 'b', 'c']]


 类似资料:
  • 问题内容: 我有一个逗号分隔的CSV文件,其中包含NASDAQ符号。我使用扫描仪读取文件 我在第二个字段上遇到异常。问题是,该字段与文件中的其他某些字段一样也包含逗号,例如“ 1-800 FLOWERS.COM,Inc.”: 如何避免这个问题?我的代码是: 谢谢 问题答案: 除非这是家庭作业,否则您不应该自己解析CSV。使用现有库之一。例如: http //commons.apache.org/s

  • 我有一个csv文件,列值中包含逗号。例如 当值在数据中有额外的逗号时,这些值会用双引号括起来。在上面的示例中,值为Column1=123、Column2=45,6和Column3=789,但在尝试读取数据时,由于Column2字段中有额外的逗号,它给了我4个值。 在PySpark中读取此数据时,如何获得正确的值?我正在使用Spark 1.6.3 我目前正在执行以下操作以创建一个rdd,然后从rdd

  • 问题内容: 我正在尝试使用csv文件读取文件,但某些字段是包含逗号的字符串。字符串用引号引起来,但是numpy不能将引号识别为定义了单个字符串。例如,使用“ t.csv”中的数据: 编码 产生错误: ValueError:检测到一些错误!第2行(获得4列而不是3列) 我正在寻找的数据结构是: 查看文档,我看不到任何解决方案。有没有办法用numpy做到这一点,或者我只需要使用模块读入数据,然后将其转

  • 目标:创建一个面向对象的图形Java应用程序,该程序将:读取一个CSV(逗号分隔值)文件,该文件由学生姓名(名字、姓氏)、ID以及内容和交付的初始标记组成(未评估学生使用-1值)。 这是我的代码,但当我点击选择文件。。当它真的应该打开文件并读取数据时,它会显示“预期的名字、姓氏、ID、内容和交付”。但不知何故,它不起作用。在此处输入图像描述 下面是我的代码: 私有类ChooseFileListen

  • 问题内容: 我有一个CSV文件,下面是其外观示例: 我知道如何读取文件并打印每列(例如- )。但是我真正想做的是读取行,就像这样,然后依此类推。 然后,我想将这些数字存储到变量中,以便稍后将它们总计(例如): 。那我可以做。 我将如何在Python 3中做到这一点? 问题答案: 您可以执行以下操作: 要么 : 编辑:

  • 我正试图从压缩的csv文件中获取数据。有没有一种方法可以做到这一点,而不解压整个文件?如果没有,我如何解压文件并有效地读取它们?