python:写入txt文件
2018-08-17 18:11阅读:
第一种:Python自带的内置函数函数write()
write()方法可将任何字符串写入一个打开的文件。注意:Python字符串可以是二进制数据,而不仅仅是文字。(需要将数字转为字符串)
write()方法不会在字符串结尾添加换行符('')
语法:fileObject.write(string)
被传递的参数是要写入到已打开文件的内容
eg:
# One
f = open('a.txt', 'w')
f.write('Hello world!')
f.close() # 需要关闭打开的文件
# Two
with open('a.txt', 'w') as f:
|
br>
f.write('Hello World!')
第二种:numpy:np.savetxt()方法
nump.savetxt(fname, X)
参数:
fname:文件名
X:需要保存的数组(一维或二维)
eg:
import numpy as tf
a_1 = np.arange(5)
a_2, a_3 = a_1 * 2, a_1 * 3
np.savetxt('a.txt', (a_1, a_2,
a_3))

|
第三种:pandas:to_csv()方法
DataFrame.to_csv(path_or_buf=None,
sep=', ',
na_rep='',
float_format=None,
columns=None,header=True,
index=True,
index_label=None,
mode='w',
encoding=None,
compression=None,
quoting=None,
quotechar=''',
line_terminator='',
chunksize=None,
tupleize_cols=None,
date_format=None,
doublequote=True,
escapechar=None,
decimal='.')
|
参数:
path_or_buf=None:
字符串或文件句柄,默认无文件
路径或对象,如果没有提供,结果将返回为字符串。
sep :
输出文件的字段分隔符,默认情况下:‘,’
na_rep : 字符串,默认为 ‘’
浮点数格式字符串
float_format : 字符串,默认为 None ,浮点数格式字符串
columns :顺序,可选列写入
header : 字符串或布尔列表,默认为true
写出列名。如果给定字符串列表,则假定为列名的别名。
index :布尔值,默认为Ture
写入行名称(索引)
index_label : 字符串或序列,或False,默认为None
如果需要,可以使用索引列的列标签。如果没有给出,且标题和索引为True,则使用索引名称。如果数据文件使用多索引,则应该使用这个序列。如果值为False,不打印索引字段。在R中使用index_label=False
更容易导入索引.
mode : 模式,值为‘str’,字符串
。写模式,默认‘w’。在已有文件的基础上填入数据,采用模式‘a’
encoding : 编码:字符串,可选
表示在输出文件中使用的编码的字符串,Python 2上默认为“ASCII”和Python 3上默认为“UTF-8”。
compression : 字符串,可选项
表示在输出文件中使用的压缩的字符串,允许值为“gzip”、“bz2”、“xz”,仅在第一个参数是文件名时使用。
line_terminator :字符串,默认为 ‘’
在输出文件中使用的换行字符或字符序列
quoting : CSV模块的可选常量
默认值为to_csv.QUOTE_MINIMAL。如果设置了浮点格式,那么浮点将转换为字符串,因此csv.QUOTE_NONNUMERIC会将它们视为非数值的。
quotechar : 字符串(长度1),默认“”
用于引用字段的字符
doublequote :布尔,默认为Ture
控制一个字段内的quotechar
escapechar : 字符串(长度为1),默认为None
在适当的时候用来转义sep和quotechar的字符
chunksize : int或None
一次写入行
tupleize_cols : 布尔值 ,默认为False
从版本0.21.0中删除:此参数将被删除,并且总是将多索引的每行写入CSV文件中的单独行
(如果值为false)将多索引列作为元组列表(如果TRUE)或以新的、扩展的格式写入,其中每个多索引列是CSV中的一行。
date_format : 字符串,默认为None
字符串对象转换为日期时间对象
decimal: 字符串,默认’。’
字符识别为小数点分隔符。例如。欧洲数据使用 ’,’
eg:
time_stamp_1 = pd.Series(time_stamp_tmp,
name=
'Timestamp')
#name='Timestamp'
img_name_time_2 = pd.Series(img_name_tmp,
name=
'ImageName')
head = [
'Timestamp',
'ImageName']
save = pd.DataFrame({
'Timestamp':time_stamp_1,
'ImageName':img_name_time_2},
columns=head)
save.to_csv(
'data_time_imgname.txt',
index=
False,
sep=
'\t')
注意:
若是在已有的文件中添加新的数据。可以采用一下方式:
with open('a.txt', 'a') as
f:
f.write('')
f.write('My name is Jane')
|