python追加写入文件|python怎样将运行结果写入到文件里

python追加写入文件|python怎样将运行结果写入到文件里的第1张示图

㈠ python怎样将运行结果写入到文件里

你是说把控制台的所有输出保存到文件?

用重定向

pythoncode.py>output.txt

㈡ python怎么以追加的方式写文件

一、用Python创建一个新文件,内容是从0到9的整数, 每个数字占一行:

#python

>>>f=open('f.txt','w') # r只读,w可写,a追加

>>>for i in range(0,10):f.write(str(i)+'')

. . .

>>> f.close()

二、文件内容追加,从0到9的10个随机整数:

#python

>>>import random

>>>f=open('f.txt','a')

>>>for i in range(0,10):f.write(str(random.randint(0,9)))

. . .

>>>f.write('')

>>>f.close()

三、文件内容追加,从0到9的随机整数, 10个数字一行,共10行:

#python

>>> import random

>>> f=open('f.txt','a')

>>> for i in range(0,10):

. . . for i in range(0,10):f.write(str(random.randint(0,9)))

. . . f.write('')

. . .

>>> f.close()

四、把标准输出定向到文件:

#python

>>> import sys

>>> sys.stdout = open("stdout.txt", "w")

㈢ 求python清除文件内容后追加写入

循环把内容保存到数组,最后再写入到文件

㈣ Python怎样给Excel 2007版以上的xlsx文件追加数据

背景

Python中,xlrd主要用来读取excel文件, xlwt主要用来写文件,本文主要介绍打开已经存在的excel的xls文件,然后在最后新的一行的数据。要用到xlutils包,它依赖于前两个包。

折腾过程

1.找到了参考资料:

writing to existing workbook using xlwt

其实是没有直接实现:

打开已有的excel文件,然后在文件最后写入,添加新数据

的函数的。

只不过,可以利用:

Working with Excel Files in Python

中的库,组合实现。

2.writing to existing workbook using xlwt

给出了示例代码:

?

rom xlutils.importfromxlrdimportopen__ROW=297 # 0 based (subtract 1 from excel row number)col_age_november=1col_summer1=2col_fall1=3rb=open_workbook(file_path,formatting_info=True)r_sheet=rb.sheet_by_index(0)# read only to introspect the filewb=(rb)# a writable (I can't read values out of this, only write to it)w_sheet=wb.get_sheet(0)# the sheet to write to within the writable forrow_indexinrange(START_ROW, r_sheet.nrows):age_nov=r_sheet.cell(row_index, col_age_november).valueifage_nov==3:#If 3, then Combo I 3-4 year old for both summer1 and fall1w_sheet.write(row_index, col_summer1,'Combo I 3-4 year old')w_sheet.write(row_index, col_fall1,'Combo I 3-4 year old')wb.save(file_path+'.out' + os.path.splitext(file_path)[-1])

3. 刚又看到,有更简洁的代码:

?

1234fromxlutils.importw=('book1.xls')w.get_sheet(0).write(0,0,"foo")w.save('book2.xls')

4.现在打算去试试。

先去安装xlrd:

【记录】Python中安装xlrd模块

6.再去安装xlutils:

【记录】Python中安装可以读写excel的xls文件的xlutils模块(需依赖于xlrd和xlwt)

7.接着可以去写代码了。

8.先是:

【已解决】Python中使用xlutils.出错:AttributeError: ‘mole’ object has no attribute ‘’

9.后是:

【已解决】Python中使用xlutils的出错:AttributeError: ‘str’ object has no attribute ‘datemode’

10.后来是用如下代码:

?

;importxlrd;#import xlutils;fromxlutils.import;#init xls file#styleBlueBkg= xlwt.easyxf('pattern: pattern solid, fore_colour sky_blue;');#styleBold = xlwt.easyxf('font: bold on');styleBoldRed=xlwt.easyxf('font: color-index red, bold on');headerStyle=styleBoldRed;wb=xlwt.Workbook();ws=wb.add_sheet(gConst['xls']['sheetName']);ws.write(0,0,"Header", headerStyle);ws.write(0,1,"CatalogNumber", headerStyle);ws.write(0,2,"PartNumber", headerStyle);wb.save(gConst['xls']['fileName']);#open existed xls file#newWb = xlutils.(gConst['xls']['fileName']);#newWb = (gConst['xls']['fileName']);oldWb=xlrd.open_workbook(gConst['xls']['fileName']);printoldWb;#<xlrd.book.Book object at 0x000000000315C940>newWb=(oldWb);printnewWb;#<xlwt.Workbook.Workbook object at 0x000000000315F470>newWs=newWb.get_sheet(0);newWs.write(1,0,"value1");newWs.write(1,1,"value2");newWs.write(1,2,"value3");print"write new values ok";newWb.save(gConst['xls']['fileName']);print"save with same name ok";

实现了,打开,刚刚保存的,已经存在的xls文件,

然后写入新数据的目的。

但是有个缺点,

第一次保存时的,带格式(标题内容为红色粗体)的内容:

重新写入新数据,再保存时,却丢失了之前的格式(标题没了红色粗体了):

11.后来还是参考:

writing to existing workbook using xlwt

中的那个标准答案,在用xlrd.open_workbook时,添加对应的参数formatting_info=True,就可以保留原有格式了。

完整代码:

?

;importxlrd;#import xlutils;fromxlutils.import;#init xls file#styleBlueBkg= xlwt.easyxf('pattern: pattern solid, fore_colour sky_blue;');#styleBold = xlwt.easyxf('font: bold on');styleBoldRed=xlwt.easyxf('font: color-index red, bold on');headerStyle=styleBoldRed;wb=xlwt.Workbook();ws=wb.add_sheet(gConst['xls']['sheetName']);ws.write(0,0,"Header", headerStyle);ws.write(0,1,"CatalogNumber", headerStyle);ws.write(0,2,"PartNumber", headerStyle);wb.save(gConst['xls']['fileName']);#open existed xls file#newWb = xlutils.(gConst['xls']['fileName']);#newWb = (gConst['xls']['fileName']);oldWb=xlrd.open_workbook(gConst['xls']['fileName'], formatting_info=True);printoldWb;#<xlrd.book.Book object at 0x000000000315C940>newWb=(oldWb);printnewWb;#<xlwt.Workbook.Workbook object at 0x000000000315F470>newWs=newWb.get_sheet(0);newWs.write(1,0,"value1");newWs.write(1,1,"value2");newWs.write(1,2,"value3");print"write new values ok";newWb.save(gConst['xls']['fileName']);print"save with same name ok";

?

1

最后重新写入的数据,就可以保留之前的格式了(标题为红色粗体):

总结

python中操作,本身就复杂的xls文件,还是有点小麻烦的。

想要,往已经存在的xls文件中,写入新的行,新的数据,对应的逻辑为:

用xlrd.open_workbook打开已有的xsl文件

注意添加参数formatting_info=True,得以保存之前数据的格式

然后用,from xlutils. import ;,之后的去从打开的xlrd的Book变量中,拷贝出一份,成为新的xlwt的Workbook变量

然后对于xlwt的Workbook变量,就是正常的:

通过get_sheet去获得对应的sheet

拿到sheet变量后,就可以往sheet中,写入新的数据

写完新数据后,最终save保存

相关完整代码为:

?

232425262728 importxlwt;importxlrd;#import xlutils;fromxlutils.import;styleBoldRed=xlwt.easyxf('font: color-index red, bold on');headerStyle=styleBoldRed;wb=xlwt.Workbook();ws=wb.add_sheet(gConst['xls']['sheetName']);ws.write(0,0,"Header", headerStyle);ws.write(0,1,"CatalogNumber", headerStyle);ws.write(0,2,"PartNumber", headerStyle);wb.save(gConst['xls']['fileName']);#open existed xls file#newWb = xlutils.(gConst['xls']['fileName']);#newWb = (gConst['xls']['fileName']);oldWb=xlrd.open_workbook(gConst['xls']['fileName'], formatting_info=True);printoldWb;#<xlrd.book.Book object at 0x000000000315C940>newWb=(oldWb);printnewWb;#<xlwt.Workbook.Workbook object at 0x000000000315F470>newWs=newWb.get_sheet(0);newWs.write(1,0,"value1");newWs.write(1,1,"value2");newWs.write(1,2,"value3");print"write new values ok";newWb.save(gConst['xls']['fileName']);print"save with same name ok";

㈤ 利用Python如何将数据写到CSV文件中

如果你的数据是列表格式,可以使用一个迭代器,将数据写入文件,同时添加必要的分隔符以构成csv文件如果数据是字典格式,需要考虑使用换行符或者其他特殊符号来分割每个字典元素(包括键和值)。键和值可以考虑使用和之前不重复的分隔符进行分割。这样就构成了一个csv文件(csv使用分隔符分割值的文件)操作方法如下:1,使用读写追加的方式打开csv文件。2,找到csv文件的结尾。3,在结尾使用和之前csv使用的分割相同的格式进行数据添加。4,关闭文件

㈥ python怎么向已经存在的xml文件中追加填入数据

直接操作文件肯定不现实,只能先使用python自带模块xml.etree 解析xml,然后找到对应的节点把数据添加进去,重新写入文件。

㈦ 如何用PYTHON把一组数据写入一个文件

一、将一组数据追加到文件中

例如:将123追加到文件1.txt的末尾

definit():withopen('1.txt','r+')astext:text.read()text.write('123')text.close()init()

二、将一组数据覆盖到文件中

将123覆盖到1.txt文件中,1.txt之前的数据全没了

definit():withopen('1.txt','r+')astext:text.write('123')text.close()init()

㈧ python怎么重复向文件里写入

使用a模式向文件末尾追加写入内容

㈨ 如何通过python3写入txt文件

使用open方法打开一个txt文件,句柄保存在f中。注意第二个参数w,表明是可写模式,只有这种模式你才可以写入文字。第一个参数大家都知道,就是文件路径,如果文件不存在,那么会自动创建一个该目录下的txt文件。写入文字,用write如果你一次有多行要写入,你可以用一个列表作为参数:如果写入完毕,我们需要关闭文件,用到的close方法。最后看一下,已经写入到tt记事本了。open(path,'w'):w模式下,写入内容会覆盖掉原来的内容,所以我们还有另一个模式叫做追加模式,就是a模式

未经允许不得转载:山九号 » python追加写入文件|python怎样将运行结果写入到文件里

赞 (0)