我想在for循环中将列表写入csv文件,每次都在不同的列中。例如,第一次迭代生成一个list=[1,2,3,4,5],第二次迭代生成list=[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这样做?
一个简单的方法是使用熊猫:
import pandas as pd
_csv = pd.read_csv("file.csv") #read your csv file
_csv.to_csv("new_file.csv") #write your data in the new csv file
# you can write by column too
_csv["col1"].to_csv("other_new_file.csv") #write col1 in the other new csv file
我正在尝试将POJO的jackson JSON字符串转换为JSON文件以导入MySQL。 我遇到的问题是,即使我在控制台中返回了JSON字符串,并且。json文件创建后,MySQL workbench抛出一个未处理的错误异常:bool()类型的对象没有长度 作为一个json文件,行为“true”。 如果我做文件被正确导入,但数据库中没有数据,如果被视为json,则只有一行。 我的POJO
我有一个两个项目的列表,每个项目是一个文本字符串。我想围绕这两个项目循环,如果一个单词不在一组单词中,则基本上删除它。但是,下面的代码将所有单词放在一起,而不是创建两个单独的项。我希望我的更新列表包含两个项目,每个原始项目对应一个im更新:
我有一个网络应用编程接口,多个列表,和一个从网络应用编程接口查询数据的函数。我已经设法手动更新列表,一次一个。然而,数据有多个列(列表将包含列的数据),并且有38个列表并手动调用函数来更新它们是很麻烦的。我设计了一个简短的for循环来迭代列表,并相应地更新它们。但是,更新后的列表不会返回;或者甚至没有更新。如何在代码中修复此问题?请参阅下面的代码,虽然我不能提供API上的数据: =========
问题内容: 在Python中,尝试对具有循环的列表执行最基本的追加功能:不知道我在这里缺少什么: 返回: 问题答案: 该函数不返回任何值(而是),它只是将值添加到用于调用该方法的列表中。 在第一个循环中,您将分配(由于不返回)给,然后在第二个循环中,它将尝试调用,因为它将引发您看到的Exception 您只需要将其更改为: 这就是所谓的 变异或破坏性 方法,即它将破坏或变异先前的对象成为一个新的(
问题内容: 我在new.txt中有10行文字,例如Adam:8154 George:5234等等。现在我想要一个仅包含名称的文本文件。xyz.txt必须包含Adam George等。现在上面的代码只给我留下了第十个名字。 如何在一个文本文件中包含所有10个名称。 问题答案: 那是因为您在for循环中打开,写入和关闭文件10次 您应该在循环外打开和关闭文件。 您还应该注意 使用write行 而 不是
问题内容: 我目前有一些这样的代码: 我想发生的事情是for循环迭代并用其对应的字母替换任何大于10的值。但是,我当前的代码只是更改,而不是列表中的原始值。例如,如果设置为15,则代码始终运行并设置为,但不会更改为,而是保持为15。如何解决此问题? 问题答案: 对于循环的每次迭代,变量只会被分配一个项的值的副本,因此对所做的更改将不会反映在。 您应该更新可以通过以下函数生成的via索引项: