写一个格式化的字符串to_string 2018/12/28
1.函数:
函数
df.to_string(buf=None, columns=None, col_space=None, header=True,
index=True, na_rep='NaN', formatters=None, float_format=None,
sparsify=None, index_names=True, justify=None, line_width=None,
max_rows=None, max_cols=None, show_dimensions=False)
用途:写一个格式化的字符串
参数:
# buf: #类似StringIO要写入的缓冲区
# columns: #序列要写的列的子集; 默认None写入所有列
# col_space:#int每列的最小宽度
# header: #bool写出列名。如果给出了字符串列表,则假定它是列名的别名
# index: #bool是否打印索引(行)标签,默认为True
# na_rep: #string要使用的NAN字符串表示,默认为'NaN'
# formatters:#单参数函数的列表或字典
# formatter函数按位置或名称应用于列的元素,每个函数的结果必须是一个unicode字符串。
# 列表的长度必须等于列数。
# float_format:#单参数函数,格式化程序函数,如果它们是浮点数,则应用于列的元素
# 此函数的结果必须是unicode字符串。
# sparsify:bool
# 对于具有分层索引的DataFrame,设置为False以打印每个每行都有多索引键,默认为True
# index_names:bool# 打印索引的名称,默认为True
# line_width:int #用字符包裹一行的宽度,默认不包装
# table_id:str #由to_html创建的<table>元素的id
# justify:str对齐方式#默认情况下left,将打印列标题左对齐或右对齐
# None使用选项打印配置(由set_option控制)
# 有效值* left* right* center* justify* justify-all* start* end* inherit* match-parent* initial* unset
返回:格式化字符串(unicode)
2.实例1:
from io import StringIO
df=pd.DataFrame({'No':[1001,1002,1003],'Name':['Tom','Bob','Jim'],'Weight':[20,30,40]})
No Name Weight
0 1001 Tom 20
1 1002 Bob 30
2 1003 Jim 40
df.to_string()
#' No Name Weight\n0 1001 Tom 20\n1 1002 Bob 30\n2 1003 Jim 40'
实例2:
buf=StringIO()
buf.seek(0)
buf.read() # ''
buf.write('ss')#2
buf.read() #''
buf.seek(0)
buf.read() # 'ss'
实例3:
df.to_string(buf)
buf.seek(0)#0
buf.read()
# 'ss No Name Weight\n0 1001 Tom 20\n1 1002 Bob 30\n2 1003 Jim 40'
df.to_string(columns=['No','Name'],col_space=4)
# ' No Name\n0 1001 Tom\n1 1002 Bob\n2 1003 Jim'
df.to_string(columns=['No','Name'],col_space=4,header=['a','b'])
# ' a b\n0 1001 Tom\n1 1002 Bob\n2 1003 Jim'