Python 为什么创建的csv文件会复制行,如何将列表创建为列?
我是python新手,在尝试学习一些基础知识的过程中,我有一个基本的webscraper来获取URL链接,然后我想将这些链接作为单个列中的列表写入csv。但是,在下面的代码中,链接被写入一行(254个项目),但随后整行被重复相同的次数(254个相同的行)。我已经搜索过了,但找不到相同的问题。谢谢你的帮助/理解Python 为什么创建的csv文件会复制行,如何将列表创建为列?,python,csv,Python,Csv,我是python新手,在尝试学习一些基础知识的过程中,我有一个基本的webscraper来获取URL链接,然后我想将这些链接作为单个列中的列表写入csv。但是,在下面的代码中,链接被写入一行(254个项目),但随后整行被重复相同的次数(254个相同的行)。我已经搜索过了,但找不到相同的问题。谢谢你的帮助/理解 import requests from bs4 import BeautifulSoup import csv r = requests.get('url') print(r.stat
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
此处,
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
不使用
csv
的替代方案。在这种简单的情况下,并不真正需要或有用
with open("test1.txt", "w") as ff:
for row in data:
ff.write(row + '\n')
不使用
csv
的替代方案。在这种简单的情况下,并不真正需要或有用
with open("test1.txt", "w") as ff:
for row in data:
ff.write(row + '\n')
我键入了错误的with open语句,我已将其更新为我在本期中使用的版本。我键入了错误的with open语句,我已将其更新为我在本期中使用的版本。