Nota de crecimiento de Python: Python3 usa el módulo csv csv.writer (). Writerow () para guardar el archivo CSV y generar una solución de línea en blanco

1. Antecedentes del problema


Durante la prueba del proyecto, los datos se guardaron en el archivo csv usando el método csv.writer (). Writerow (). Sin embargo, al verificar los resultados, se encontró que cada vez que se escribían, habría una línea en blanco adicional. El problema es similar al siguiente:

Dos, el código fuente antes del problema.


#!/usr/bin/python
#Author:千里之行
#Update:2020-09-04
#
#
#
#
import os
import sys
import csv
import time

def killProcessStressTest():
	with open('D:\\MemTest\\onemoreline.csv','w') as csvfile:
		writer = csv.writer(csvfile,dialect ='excel')
		writer.writerow(['time','MMSMem(KB)','MMSPid'])
		for i in range(loopNumber):
		    os.system(ipString)
		    time.sleep(3)
		    print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>StressTest LoopNumber is:" + str(i))
		    mmsMemString = os.popen('adb shell "dumpsys meminfo |grep -e \'com.android.mms \' "')
		    mmsMemStringSplit = mmsMemString.read().strip().split(' ')
		    mmsMem = mmsMemStringSplit[0]
		    mmsPid = mmsMemStringSplit[4][:-3]
		    #print("mmsMem: "+mmsMem + " ;mmsPid: " +mmsPid)
		    time.sleep(2)

		    print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())+ "MMSMem: "+mmsMem + " MMSPid: " + mmsPid )
		    #依次将关注进程的内存和Pid写入到csv文件中    
		    writer.writerow([time.strftime("%Y-%m-%d %H-%M-%S",time.localtime()),mmsMem,mmsPid])	    
		    time.sleep(5)
		csvfile.close()

if __name__ == "__main__":
    killProcessStressTest()

2. Solución


Posteriormente, al consultar la información, el problema se resolvió muy bien. Simplemente agregue un parámetro newline = "a la declaración with. La comparación de código antes y después de la modificación es la siguiente:

Supongo que te gusta

Origin blog.csdn.net/jinhoward/article/details/108445160
Recomendado
Clasificación