python - 为什么创建的 csv 文件会重复行以及如何将列表创建为列?

标签 python csv

我是Python新手,在尝试学习一些基础知识时,我有一个基本的网络爬虫来抓取URL链接,然后我想将它们作为单列中的列表写入csv。然而,在下面的代码中,链接被写入一行(254 个项目),但随后整行被重复相同的次数(254 个相同的行)。我已经搜索过但找不到相同的问题。感谢您的帮助/理解。

import requests
from bs4 import BeautifulSoup
import csv

r = requests.get('url')
print(r.status_code)
r.text

soup = BeautifulSoup(r.text, 'html.parser')
print(soup.prettify())

data=[]
for link in soup.find_all('a', href=True):
    print(link['href'])
    data.append(link['href'])

with open('test1.csv', 'w', newline='') as f:
    write = csv.writer(f)
    for row in data:
        write.writerow(data)

最佳答案

这里,write 是 writer 对象,您可能想尝试:

with open('test1.csv', 'w', newline='') as f:
    write = csv.writer(f)
    for row in data:
        write.writerow([row])  # [row] to write row as an unique column

关于python - 为什么创建的 csv 文件会重复行以及如何将列表创建为列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54579702/

相关文章:

python - 为实时数据绘图实现 pyqtgraph

python - 按字母顺序对元组列表进行排序(区分大小写)

python - Django 1.11 :Apps aren't loaded yet

python - 在 Python 中将分数转换为小数

C++运算符的多重定义>>

java - 在第一次出现逗号后返回字符串的子字符串

python - 预期 4D 张量作为输入,但得到 2D 张量

python - 查询维护外键关系的CSV文件?这可能吗?

python - 来自制表符分隔文件的列表字典

php - 如何使用 PHP 和 MYSQL 在逗号分隔列表中找到前 10 个最流行的值