如何保存带有记录的列表以打印到文本文件Python?

圆点2323

我试图将我的列表strOtherLine写入文本文件,但我只得到列表的最后一条记录,而不是所有记录。所以我说,如果我在列表中得到这3个,我只会得到文本文件中的最后一条记录。

 [**********, 'Checking', '0000000000', '############']
 [**********, 'Checking', '0000000000', '############']
 [**********, 'Checking', '0000000000', '############']

码:

if (strDdtype == "P" and len(strPc_AcctNo.strip()) or strDdtype == "C" or strDdtype == "S"):
       boolHasDirectDepositData = True
       intOtherRecs = intOtherRecs + 1
       boolHasOther = True
       if strDdtype == "S":
            strThisType = "Savings"
       else:
            strThisType = "Checking"
                    
       if strDdtype == "P":
            strThisRoute = strPc_Route
            strThisAcct = strPc_AcctNo
       else:
            strThisRoute = strBankRoute
            strThisAcct = strBankAcct
                        
            
       strOtherLine = [strSsn,strThisType,strThisRoute,strThisAcct]
       print(strOtherLine)
       if boolHasDirectDepositData:
          #===Writing to the text file
          with open(fc_otherfile,'w', newline='') :
              directdep = csv.writer(t, delimiter="\t")
              directdep.writerow(strOtherLine)
米兰巴拉兹

每次都覆盖文件w模式open()(创建一个新的空文件)。您应该使用该a模式,在这种情况下,如果文件不存在,脚本将创建一个新文件,但该脚本存在,然后脚本将新行添加到文件中。

示例代码:

import csv

strOtherLine = [
    ["**********", "Checking", "0000000000", "############"],
    ["**********", "Checking", "0000000000", "############"],
    ["**********", "Checking", "0000000000", "############"],
]

my_csv_file = "test.csv"


with open("test.csv", "a") as opened_file:
    directdep = csv.writer(opened_file, delimiter="\n")  # Used "\n" for better reading
    directdep.writerow(strOtherLine)

首次运行后的内容(文件不存在):

['**********', 'Checking', '0000000000', '############']
['**********', 'Checking', '0000000000', '############']
['**********', 'Checking', '0000000000', '############']

第二次运行后的内容(文件已存在):

['**********', 'Checking', '0000000000', '############']
['**********', 'Checking', '0000000000', '############']
['**********', 'Checking', '0000000000', '############']
['**********', 'Checking', '0000000000', '############']
['**********', 'Checking', '0000000000', '############']
['**********', 'Checking', '0000000000', '############']

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python读/写文件练习。如何将列表打印到文本文件

如何将整个python空闲命令历史记录打印到文本文件

Python将文本文件的每一行打印到列表中,没有\ n

如何使用c#在文本文件中保存带有索引的列表项

在Python上将数组,字典,列表打印到文本文件中

从终端将目录中的文件列表打印到文本文件(而不是文本文件本身)

如何解析python中的文本文件并打印到另一个文本文件或json文件中?

将作为文件名列表的输出打印到文本文件

将文本打印到文本文件中的程序

如何遍历一个文本文件以打印到另一个文本文件?

如何在没有换行符的情况下打印到GAP中的文本文件?

程序完成后如何将控制台打印到文本文件(Python)?

如何在python中读取特定行并将数据打印到文本文件或控制台窗口?

在文本文件中垂直打印 Python 列表

将文本文件中的重复编号打印到其他文件-python?

将OLS回归摘要打印到文本文件

以表格形式将结果打印到文本文件

Java:将文本文件的内容打印到屏幕

将字符串打印到文本文件

将VBA词典打印到文本文件中

将输出打印到单独的文本文件

将文本文件内容打印到列中

从字典键和值打印到文本文件

如何在 Java 中将二维数组正确打印到文本文件?

Jenkins:如何将文本文件的内容打印到构建日志?

如何将Google Test输出打印到文本文件?

如果我在Java中使用线程,如何打印到文本文件?

如何使用fgets从文本文件打印到2D数组中?

如何将for循环输出打印到文本文件中?