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

发布于 2021-01-29 19:03:50

此代码打开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

谢谢您的帮助。

关注者
0
被浏览
48
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

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

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

    csvwriter.writerow([JD])
    

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



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看