【问题标题】:Appending data to CSV repeatedly重复将数据附加到 CSV
【发布时间】:2021-05-10 05:42:05
【问题描述】:

我有一个值列表,每次我的程序运行时我都试图将这些值附加到 csv 文件中,但我的代码只附加一次,并且再也不会附加。我在这里做错了什么。

import random
import csv
import numpy as np
from csv import writer

randomlist = []
for i in range (0,5):
    n = random.randint(1,30)
    randomlist.append(n)
print(randomlist)

np.savetxt("test.csv",  
           randomlist,
           fmt ='% s') 

def append_list_as_row(file_name, list_of_elem):
       with open(file_name, 'a+', newline='') as file:
                csv_writer = writer(file)
                csv_writer.writerow(list_of_elem)      

append_list_as_row('test.csv',randomlist)

【问题讨论】:

    标签: python csv append export-to-csv


    【解决方案1】:

    当你调用np.savetxt("test.csv", randomlist, fmt ='% s')时,这个方法会覆盖test.csv,所以不要调用它,你可以这样做:

    from csv import writer
    import numpy as np 
    import random
    import csv
    
    
    def main():
      randomlist = []
      for i in range (0,5):
        n = random.randint(1,30)
        randomlist.append(n)
      print(randomlist)
    
      # np.savetxt("test.csv", randomlist, fmt ='% s') 
      append_list_as_row('test.csv', randomlist)
    
    def append_list_as_row(file_name, list_of_elem):
      with open(file_name, 'a+', newline='') as file:
        csv_writer = writer(file)
        csv_writer.writerow(list_of_elem)   
    
    
    if __name__ == '__main__':
      main()
    

    【讨论】:

      【解决方案2】:

      问题是您每次使用函数np.savetxt 运行代码时都会保存一个新的"test.csv" 文件。

      尝试分离这部分代码:

      np.savetxt("test.csv",  
                 randomlist,
                 fmt ='% s') 
      

      从其余代码中, 让它只运行一次

      【讨论】:

        猜你喜欢
        • 2019-03-01
        • 2018-03-15
        • 2021-07-21
        • 1970-01-01
        • 2021-09-24
        • 1970-01-01
        • 2019-11-01
        • 1970-01-01
        相关资源
        最近更新 更多