Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中创建文本文件,然后将数据附加到文本文件的每行末尾_Python_Database - Fatal编程技术网

在python中创建文本文件,然后将数据附加到文本文件的每行末尾

在python中创建文本文件,然后将数据附加到文本文件的每行末尾,python,database,Python,Database,我试图创建一个数据库,以1 x 21向量的形式存储代码生成的信息。我称之为prices,并希望将此向量的每个元素存储在文本文件的新行中。然后,第二次运行该程序时,我希望将向量价格的新条目附加到文本文件中的每一行。这样做的目的是,一旦收集了大量结果,就可以很容易地绘制出一个图,以查看这21个元素中的每一个元素随时间的变化 我试图对if循环中的条件以及中所示的方法的整体循环进行一些修改来进行复制,但由于某些原因,在运行代码时,我得到了一个空白文本文件。我改变了一件事,将w改为w+,但它也不适用于w。

我试图创建一个数据库,以1 x 21向量的形式存储代码生成的信息。我称之为prices,并希望将此向量的每个元素存储在文本文件的新行中。然后,第二次运行该程序时,我希望将向量价格的新条目附加到文本文件中的每一行。这样做的目的是,一旦收集了大量结果,就可以很容易地绘制出一个图,以查看这21个元素中的每一个元素随时间的变化

我试图对if循环中的条件以及中所示的方法的整体循环进行一些修改来进行复制,但由于某些原因,在运行代码时,我得到了一个空白文本文件。我改变了一件事,将w改为w+,但它也不适用于w。我做错了什么

价格=[1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1]这只是一个样本输出 对于范围21中的exp: 使用openprice_database.txt,“r”作为f: 行=f.readlines 在openprice_database.txt中,“w+”作为f: 对于x,枚举行中的行: 如果x==exp: f、 交易价格[exp] f、 书写线 编辑1:

价格=[1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1] 对于范围21中的exp: 使用openprice_database.txt,“r”作为f: 行=f.readlines 在openprice_database.txt中,“a”作为f: 对于x,枚举行中的行: 如果x==exp: f、 交易价格[exp]
你需要关闭文件,每次你打开读或写的结果与f.close,但我不能理解为什么你使用txt文件来做这项工作你真的应该使用csv或甚至mysql它会更好

编辑: 使用附加模式打开文件,以便可以在结尾处写入:

with open('something.txt', 'a') as f:
    f.write('text to be appended')
    f.close()

如果你想不那么小心,那么就这样做,速度会稍微快一点,因为你不必一直靠近

app = 'append text'
with open('something.txt', 'a') as f:
    f.write(app)
f.close()

我是python新手,我问过一位朋友,他用文本文件做了类似的事情。我真的不知道如何使用csv文件做任何事情,但我会研究这个问题,也许当我想改进它的时候。我只是尝试将f.close添加到每个with循环的末尾,但是文本文件仍然是空的。如果使用csv文件更容易,也不太复杂,您是否介意指出我是如何做到这一点的?已编辑并为将来查看csv模块,这样您就可以构造数据如果使用with运算符打开文件,您不需要显式关闭。使用with语句时,您不需要关闭文件,因为它是自己完成的,所以您也可以使用print编写一个文件,您只需要通知参数文件。