输出中的每个字母之间的.csv分隔符
我正在抓取一个网站的信息,并把这些信息写入一个.csv文件;但是每次我运行这个脚本:
import requests
from bs4 import BeautifulSoup
import csv
import time
site = "url"
with open('receipts_10.csv', 'rU') as csvfile:
reader = csv.reader(csvfile, delimiter=';')
outfile = 'test.csv'
ofile = open(outfile,"wb")
writer = csv.writer(ofile,delimiter=";")
for row in reader:
response = requests.post(site, params={'appReceiptNum':row})
soup = BeautifulSoup(response.text)
caseStatus = soup.find("h4")
for string in caseStatus.stripped_strings:
writer.writerow(string)
我在我的csv文件中得到的输出是:
I;n;i;t;i;a;l; ;R;e;v;i;e;w
D;e;c;i;s;i;o;n
有没有什么想法?
1 个回答
2
csv.writerow(iterable) 这个方法需要一个可迭代的对象,也就是说,它的元素会用系统默认的分隔符来分开。
在Python中,字符串也是一个可迭代的对象,字符串里的每个字符都是这个可迭代对象的元素。所以,当你用这个方法处理一个单独的字符串时,它会把字符串里的字符分开。
如果你不想要这种效果,可以用一个列表或元组来包含你的字符串。
for string in caseStatus.stripped_strings:
newString = string.replace(" ", "")
writer.writerow([newString])