当我尝试在csv中保存一个Python列表时,csv中有我想保存的项目,这些项目由每个字符分隔。
我有一个这样的链接列表:
links = ['https://www.portalinmobiliario.com/MLC-2150551226-departamento-los-talaveras-id-117671-_JM#position=1&search_layout=grid&type=item&tracking_id=01bab66e-7cd3-43ce-b3d7-8389260b443d',
'https://www.portalinmobiliario.com/MLC-2148268902-departamento-los-espinos-id-116373-_JM#position=2&search_layout=grid&type=item&tracking_id=01bab66e-7cd3-43ce-b3d7-8389260b443d']
字符串
我试图用下面的代码将其保存到CSV:
with open('links.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerows(links)
型
我从列表中得到的结果是链接在一行中,但每个字符在一列中。
- 我怎样才能让链接按行分开,但在同一列?
3条答案
按热度按时间hwamh0ep1#
writer.writerows
期望参数是行列表的可迭代对象(引用文档:“对于Writer对象,行必须是字符串或数字的可迭代对象”);现在它将链接字符串解释为1个字符的列的行(因为字符串确实是字符串的可迭代对象)。简而言之,你需要将每个链接 Package 在一个列表中(一个1元组也可以),例如使用生成器:
字符串
vql8enpb2#
对于
csv.writer()
来说,将单个字符串写入CSV行有点冒险,因为它需要一个“列表列表”作为输入,而“字符串列表”看起来很像“列表列表”。由于我们并没有真正利用
csv
包的功能,我们可能只是直接使用文件句柄来进行编写。字符串
irlmq6kh3#
字符串
这个应该能帮到你