
本文旨在解决将Python列表数据正确保存到CSV文件时遇到的问题。通常,直接使用csv.writerows()方法会将列表中的每个元素拆解为单个字符并分别写入不同的列。本文将介绍如何正确地将列表中的每个元素作为单独的行写入CSV文件,并提供相应的代码示例和注意事项。
在Python中,csv模块提供了方便的CSV文件读写功能。然而,在使用writerows()方法时,需要特别注意其参数的格式。writerows()方法期望接收一个可迭代对象,其中每个元素都是一个表示行的列表。如果直接将一个字符串列表传递给writerows(),csv模块会将每个字符串视为一个行的列表,并将字符串中的每个字符写入不同的列。
为了解决这个问题,我们需要将列表中的每个元素包装成一个单元素列表,然后再传递给writerows()。
假设我们有以下链接列表:
立即学习“Python免费学习笔记(深入)”;
import 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文件中:
import 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']
with open('links.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerows([link] for link in links) # 使用列表推导式将每个链接包装成列表在这个例子中,我们使用了一个列表推导式 [link] for link in links,它将links列表中的每个link包装成一个包含单个元素的列表。然后,我们将这个新的列表传递给writerows()方法,从而确保每个链接都被写入CSV文件中的单独一行。
除了列表推导式,还可以使用map函数实现相同的功能:
import 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']
with open('links.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerows(map(lambda link: [link], links))这个方法使用map函数将一个匿名函数应用于links列表中的每个元素。匿名函数 lambda link: [link] 将每个链接包装成一个列表,然后map函数返回一个包含这些列表的可迭代对象。
正确地将Python列表保存为CSV文件需要理解csv.writerows()方法的参数要求。通过将列表中的每个元素包装成一个单元素列表,可以确保每个元素都被写入CSV文件中的单独一行。可以使用列表推导式或map函数来实现这个包装过程。同时,需要注意文件打开时的newline参数和编码问题,以确保CSV文件的正确性和可读性。
以上就是将Python列表保存为CSV文件的正确方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号