为了账号安全,请及时绑定邮箱和手机立即绑定

Python逐行写入CSV

Python逐行写入CSV

四季花海 2019-10-09 14:57:52
我有通过http请求访问的数据,并由服务器以逗号分隔的格式发送回了数据,我有以下代码:site= 'www.example.com'hdr = {'User-Agent': 'Mozilla/5.0'}req = urllib2.Request(site,headers=hdr)page = urllib2.urlopen(req)soup = BeautifulSoup(page)soup = soup.get_text()text=str(soup)文本内容如下:april,2,5,7may,3,5,8june,4,7,3july,5,6,9如何将这些数据保存到CSV文件中。我知道我可以按照以下步骤做一些事情,逐行进行迭代:import StringIOs = StringIO.StringIO(text)for line in s:但是我不确定现在如何正确地将每一行写入CSV编辑--->感谢您所提供的反馈,该解决方案非常简单,可以在下面看到。解:import StringIOs = StringIO.StringIO(text)with open('fileName.csv', 'w') as f:    for line in s:        f.write(line)
查看完整描述

3 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

一般方式:


##text=List of strings to be written to file

with open('csvfile.csv','wb') as file:

    for line in text:

        file.write(line)

        file.write('\n')

要么


使用CSV编写器:


import csv

with open(<path to output_csv>, "wb") as csv_file:

        writer = csv.writer(csv_file, delimiter=',')

        for line in data:

            writer.writerow(line)

要么


最简单的方法:


f = open('csvfile.csv','w')

f.write('hi there\n') #Give your csv text here.

## Python will convert \n to os.linesep

f.close()


查看完整回答
反对 回复 2019-10-09
?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

您可以像写入任何普通文件一样直接写入文件。


with open('csvfile.csv','wb') as file:

    for l in text:

        file.write(l)

        file.write('\n')

如果以防万一,它是一个列表列表,您可以直接使用内置csv模块


import csv


with open("csvfile.csv", "wb") as file:

    writer = csv.writer(file)

    writer.writerows(text)


查看完整回答
反对 回复 2019-10-09
?
慕丝7291255

TA贡献1859条经验 获得超6个赞

我只需将每一行写入文件,因为它已经是CSV格式:


write_file = "output.csv"

with open(write_file, "w") as output:

    for line in text:

        output.write(line + '\n')

我现在不记得如何用换行符写行了,尽管:p


此外,你可能想看看这个答案约write(),writelines()和'\n'。


查看完整回答
反对 回复 2019-10-09
  • 3 回答
  • 0 关注
  • 4245 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号