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

为什么csvwriter.writerow()在每个字符后加逗号?

蓬英逸
2023-03-14
问题内容

代码打开url并/names在末尾附加,然后打开页面并将字符串打印到test1.csv

import urllib2
import re
import csv

url = ("http://www.example.com")
bios = [u'/name1', u'/name2', u'/name3']
csvwriter = csv.writer(open("/test1.csv", "a"))

for l in bios:
    OpenThisLink = url + l
    response = urllib2.urlopen(OpenThisLink)
    html = response.read()
    item = re.search('(JD)(.*?)(\d+)', html)
    if item:
        JD = item.group()
        csvwriter.writerow(JD)
    else:
        NoJD = "NoJD"
        csvwriter.writerow(NoJD)

但是我得到这个结果:

J,D,",", ,C,o,l,u,m,b,i,a, ,L,a,w, ,S,c,h,o,o,l,....

如果我将字符串更改为(“ JD”,“哥伦比亚法学院” ....),那么我得到

JD, Columbia Law School...)

我在文档中找不到如何指定分度符。

如果尝试使用delimenter,则会出现此错误:

TypeError: 'delimeter' is an invalid keyword argument for this function

谢谢您的帮助。


问题答案:

它需要一个字符串序列(例如:列表或元组)。您给它一个字符串。一个字符串也恰好是一个字符串序列,但是它是一个由1个字符串组成的序列,这不是您想要的。

如果只希望每行一个字符串,则可以执行以下操作:

csvwriter.writerow([JD])

这会用列表包装JD(字符串)。



 类似资料:
  • 问题内容: 例如: 问题答案: 这是因为从索引0 in开始的长度为0的子字符串等于空字符串: 当然,任何字符串的长度为零的 每个 子字符串都等于空字符串。

  • 问题内容: 我说了一个变量,里面有很多数据。我想通过以下方式使用此字符串的一小部分: 经过数小时的调试(使用内存可视化工具),我发现objects字段记住了的所有数据,尽管它仅包含子字符串。 当我将代码更改为: ..问题解决了!现在我的应用程序现在只占用很少的内存! 那怎么可能?谁能解释一下?我认为this.smallpart一直在引用数据,但是为什么呢? 更新:那 我怎么清除大字串?data =

  • 问题内容: 我有一个看起来像这样的字符串: 我要返回的是在每个第三个逗号后被拆分的,因此结果如下所示: 我发现了类似的功能,但它们不会以逗号分隔n个。 问题答案: 您可以尝试将方法与正则表达式一起使用 演示版 输出: 说明 表示一个数字,与[0-9]相同,例如或 表示一个或多个数字,例如或 表示一个或多个后跟逗号的数字,例如或 会接受三个数字,并且它们之间用逗号隔开 表示最后一个匹配项,或者如果没

  • 我已经尝试更新我的软件包,就像这个问题说的,但它没有工作。 唯一有效的方法是将更改为,但我不知道它们之间有什么区别,也不知道为什么要追加

  • 问题内容: 当我使用null字符时,stringbuilder将停止添加新元素。 例如: 退货 我知道不应打印null值(或像打印null字符串值一样打印),但是在这种情况下,为什么stringbuilder无法添加更多元素? 注意:我在ubuntu上使用jdk 1.6.0_38。 问题答案: 空字符是一个保留字符,它指示字符串的结尾,因此,如果您打印后跟的内容,则在此之后将不打印其他任何内容。

  • 问题内容: 因此,我想在字符串中添加一个字符,在某些情况下,我想将该字符加倍,然后将其添加到字符串中(即先添加到字符串本身)。我尝试如下所示。 这引发了一个错误,但是我已经在字符串中添加了一个字符,所以我尝试了: 哪个有效。为什么在求和中包含字符串会导致它起作用?是否添加了一个字符串属性,该字符串属性由于存在字符串而只能在字符转换为字符串时才能使用? 问题答案: 这是因为String + Char