当前位置:首页 » 编程语言 » python写入文件追加

python写入文件追加

发布时间: 2023-05-16 06:09:32

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

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

B. python 如何实现向同一个单元格追加写内容

再网络上找到一个思路:

1:打开已经存在的.xls文件

2:一份已经存在.xls的文件

3:向文件中写入数据

4:删除之前的文件

5:保存一份相同的文件

文件内容大致如下,提示不存在

总结:

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

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

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

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

通过get_sheet去获得对应的sheet

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

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

C. 以追加模式打开文件时,文件指针指向文件尾Python代码

要在 Python 中以追加模式打开文件,请使用带有 mode 参数的函数:open()"a"

在追加模式下,文件指针位于简隐尘文件末尾,因此写入文件的任何数据都将追加到文件末尾。当您想要将新数据添加到现有文件的末尾而不覆盖现有数据时,拦禅这很有用。携伍

回答不易望请采纳

D. Python追加写入文件并换行

将知掘字符串 “123” 追加写入 a.txt 文件,顷知并换行。

mode='a',即追加(append)模式搭乎核,mode=' r' 则为读(read).

链接:https://www.jianshu.com/p/947e2308ac6c

E. 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";

F. Python文件操作,看这篇就足够!

文件的存储方式

在计算机中,文件是以二进制的方式保存在磁盘上的文本文件和二进制文件

文本文件可以使用文本编辑软件查看本质上还是二进制文件

二进制文件保存的内容不是给人直接阅读的,而是提供给其她软件使用的二进制文件不能使用文件编辑软件查看

文件基本操作

在计算机中要操作文件一共包含三个步骤:1.打开文件2.读、写文件

读 将文件内容读入内容写 将内存内容写入文件

模式描述

t文本模式 (默认)。

x写模式,新建一个文件,如果该文件已存在则会报错。

b二进制模式。

+打开一个文件进行更新(可读可写)。

U通用换行模式(不推荐)。

r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。

r+打开一个文件用于读写。文件指针将会放在文件的开头。

rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。

w打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

wb以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。

w+打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

wb+以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。

a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

文件打开模式有很多,但是我们实际用到的就只有六种。

我们总结一下主要用到的是下面六种

模式可做操作若文件不存在是否覆盖文件原来内容

r只读报错——

r+可读、可写报错是

w只写创建是

w+可读、可写创建是

a只写创建否,追加写

a+可读、可写创建否,追加写

只读模式打开文件——只读(r)

文件若不存在报错:

读写模式打开文件——读写模式(r+)

数据写入之前:

数据写入之后:

会替换掉相同长度的内容

文件若不存在报错:

写模式打开文件——写模式(w)

数据写入之前:

数据写入之后:

这种操作会删除原来的文件内容,重新写入Python,

并且把光标放在文件最开始。

若文件不存在,系统会创建该文件夹并重新写入内容

读写模式打开文件——读写模式(w+)

数据写入之前:

数据写入之后:

这种操作会删除原来的文件内容,重新写入Python,

并且把光标放在文件最开始。

若文件不存在,系统会创建该文件夹并重新写入内容

利用这个原理所以文件写模式(w)、读写模式(w+)还可以用作删除文件内容。

因为他们整个工作原理就是把文件原来的内容删除,然后写入新的内容。

如果我们写入的内容为空,那么不就是删除文件内容。

数据写入之前:

数据写入之后:

写模式打开文件(追加内容)——写模式(a)

数据写入之前:

数据写入之后:

可以看到是在原先内容的基础上在文末追加新的内容!

若文件不存在,系统会创建新的文件夹并写入内容

读写模式打开文件(追加内容)——读写模式(a)

数据写入之前:

数据写入之后:

可以看到是在原先内容的基础上在文末追加新的内容!

若文件不存在,系统会创建新的文件夹并写入内容

二进制模式打开文件

我们看到了在文件打开模式中有以下模式:rb、wb……有这种带 b 的。

什么意思呢?

就是用二进制的方式打开文件。

很明显,我们出现了以下错误:

主要原因是因为编码的问题,可能是因为0x82这个字节在gbk编码中没有这个字符,

可能原字符是两个字节,在gbk里被解析成了一个字节,导致字符不存在。

这就是我们文件打开方式需要使用二进制读取的原因。

文件操作

open 函数负责打开文件,并且返回文件对象

read /write / close 三个方法都需要通过文件对象 来调用

文件和文件夹的操作

在Python中⽂件和⽂件夹的操作要借助os模块⾥⾯的相关功能,

具体步骤如下:

导⼊os模块

使⽤ os 模块相关功能

1、文件重命名

2、删除文件

3、创建文件夹

4、删除文件夹

5、获取当前目录

6、改变默认目录

7、获取目录列表

G. python 如何先清除文件内容,再追加写入

顺序文件不能直接再前面追加写入,可按下列步骤,利用下述步骤来实现1 创建一个新的文件。2 写入要追加的数据3从原文件中读取数据,追加写入新文件中4 删除原文件。5 重新命名新文件为老文件名。

H. 使用python编程,实现对txt文件中每行内容进行追加。


#-*-coding:utf-8-*-

importre
importos

filepath='E:\data11-20\0.025'
#filepath=os.getcwd()
lst=[]
foriinrange(3,100):
filename='plane1-conv{:03d}.out'.format(i)
fullname=(os.sep).join([filepath,filename])
withopen(fullname)asf:
s=f.read().strip()
lst1=[re.split(r's+',si.strip())[-1]forsiins.split(' ')]
lst.append(lst1)
#lst是一个二维数组,每个文件的最后一列作为一个一维数组存在里面
#然后找出最长列的长度lmax,其他比它短的数据列,用lmax-len(i)组空格补到和它一样长
#每组空格的数目等于数据列的第一个数据的长度
lmax=max([len(i)foriinlst])
ws=[i+[''*len(i[0])]*(lmax-len(i))foriinlst]

withopen('E:\hehe.txt','w')aswf:
wf.write(' '.join([''.join(i)foriinws]))

I. python文件的创建、写入、读取

最近在构思如何 本地化股票数据 ,觉得有必要复习一下python对文件的创建、写入、和读取。

首先先了解一下对于文件的处理都有常用函数:

open(path, mode):生成文件对象。

参数说明:path文件路径、mode文件的操作模式

文件的操作模式说明

1、写入模式:‘w’创建、‘wb’创建二进制、‘a’追加内容、‘ab’二进制形式追加内容(另外如在后面添加‘+’号,附加读取功能如:‘w+’)

可用write()、writelines()写入内容、close()保存文件

注意:windows系统在输入写入中文时,输入参数 encoding=‘utf-8’

可用read()函数对文件内容进行读取

注意:读取的内容是从结尾开始的,用seek(0)函数指定读取位置为开头

这里我用‘w+’模式来举例

2、读取模式:‘r’读取内容、‘rb’读取二进制内容(区别于写入模式的读取,读取模式从开头开始读取)

除了read()、还有readline()调用一次返回一行数据、readlines()返回每行数据list

另外还有mode属性:看查文件对象的模式、closed属性:判断文件是否关闭、name属性:返回文件名

这里我还要介绍一个关键字with,他是一个表达式能为调用的文件对象别名,且自动关闭文件。

热点内容
主机服务器与云服务器哪个比较好 发布:2025-07-16 18:52:02 浏览:337
oracle存储过程循环插入数据 发布:2025-07-16 18:51:59 浏览:760
淘宝密码忘记了怎么改 发布:2025-07-16 18:47:34 浏览:12
乐视1s锁屏密码是12的有多少 发布:2025-07-16 18:45:12 浏览:99
战队宣传片拍摄脚本 发布:2025-07-16 18:42:23 浏览:463
疫情源码 发布:2025-07-16 18:34:53 浏览:796
安卓开发平台怎么样 发布:2025-07-16 18:30:35 浏览:347
电话加密码 发布:2025-07-16 18:29:12 浏览:68
河马云脚本 发布:2025-07-16 18:29:03 浏览:150
格物致知编程 发布:2025-07-16 18:07:54 浏览:950