python - 在for循环中使用新列将列表写入csv
问题描述
我想在 for 循环中将列表写入 csv 文件,并且每次都在不同的列中。例如,第一次迭代我生成一个列表 = [1,2,3,4,5],第二次迭代我有一个列表 = [1,2,3]。我希望输出 .csv 看起来像:
col1. col2
---------------
1 1
2 2
3 3
4
5
我得到以下代码:
## open csv file
with open(pic_path + 'file.csv', "w+") as my_csv:
for loop:
(## do something.... and generate a list)
## write list as column to csv file
csvWriter = csv.writer(my_csv)
for val in list:
csvWriter.writerows([val])
输出看起来像这样:
col1
-----
1
2
3
4
5
1
2
3
上面所做的是它继续写入第一列,并且在下一次迭代时不会更改为新列。如何告诉python这样做?
解决方案
- 生成列表列表
- 使用 zip、numpy 或任何其他方法转置列表列表
- 然后在 csvwriter 中以标准方式打印
推荐阅读
- templates - 用于在 Django 项目中重用的 pgadmin 主题模板?
- debugging - 水晶构建上无代码生成选项的目的?
- css - Material-UI:从数据网格中删除 linkOperator
- firebase - 使用flutter从firestore中检索数据,其中每个文档具有不同数量的字段
- chatbot - Dialogflow CX:是否可以在页面的条件部分验证意图参数的值?
- merge - 标题未在视图中合并 - 报表生成器
- python - 列表理解中的多个循环和值分配
- javascript - 在我的代码上创建无限循环的问题在哪里?
- reactjs - React:如何使用遍历的搜索值之一填充输入字段?
- lua - 使用 Lua 检索 SNMP 变量值(oid)?