python-3.x - 在 CSV 中写入行的 Python 问题
问题描述
我有这个脚本可以读取 CSV 并将第二列保存到列表中,我试图让它将列表的内容写入新的 CSV。问题是每个条目都应该有自己的行,但是新文件将所有内容都设置在同一行中。
我尝试将第二个with open
代码移到第一个代码中,with open
并尝试在第二个代码中添加一个 for 循环,with open
但无论我尝试什么,我都没有得到正确的结果。
这是代码:
import csv
col_store=[]
with open('test-data.csv', 'r') as rf:
reader = csv.reader(rf)
for row in reader:
col_store.append(row[1])
with open('meow.csv', 'wt') as f:
csv_writer = csv.writer(f)
csv_writer.writerows([col_store])
解决方案
在您的情况下,如果您有一列单个字母/数字,那么 YR 答案将起作用。
要获得适用于所有情况的代码,请使用此代码。
with open('meow.csv', 'wt') as f:
csv_writer = csv.writer(f)
csv_writer.writerows(([_] for _ in col_store))
从这里提到writerows
期望一个可迭代的行对象。每个行对象都应该是 Writer 对象的字符串或数字的可迭代对象
推荐阅读
- python - 我该如何解决 WARN TaskSetManager: Stage 0 包含一个非常大的任务 (1223 KB)。建议的最大任务大小为 100 KB
- java - 简单的brakout游戏卡在颜色问题上,拜托
- maven - Jenkins Maven 项目中的时间戳不匹配
- python - 如何正确地使用 sqlalchemy 进行连接
- ios - 如果用户滚动,UITableView 不会加载新状态
- python - 具有相同名称 Openvpn 的证书
- android - Android studio 模拟器显示太大
- kubernetes - 如果您的图表没有更改/修改,则限制 helm 更新或安装
- laravel - 未定义的索引数据 laravel
- android - 如何创建 Uri 文件夹的子文件夹,Android 10+?