Ⅰ python输出问题
#!/usr/bin/envpython
#-*-coding:utf-8-*-
'''
Createdon2015��3��24��
@author:qcq
'''
defdeal_with(file_in,file_out):
withopen(file_in,'r+')asfilename1:
withopen(file_out,'w')asfilename2:
forlineinfilename1:
#spaceassplitstring.youcanalsouseremole
tmp=line.split('')
printtmp[2],tmp[-2]
filename2.write(tmp[2]+' '+tmp[-2]+' ')
if__name__=='__main__':
#givetheinfile
infile=raw_input('infilename:')
#,suchas:C:1.txt
outfile=raw_input('outfile:')
deal_with(infile,outfile)
Ⅱ python中函数输出怎么使用
print函数是python语言中的一个输出函数,可以输出以下几种内容
1. 字符串和数值类型 可以直接输出
>>>print(1)
1
>>>print("HelloWorld")
HelloWorld
2.变量
无论什么类型,数值,布尔,列表,字典...都可以直接输出
>>>x=12
>>>print(x)
12
>>>s='Hello'
>>>print(s)
Hello
>>>L=[1,2,'a']
>>>print(L)
[1,2,'a']
>>>t=(1,2,'a')
>>>print(t)
(1,2,'a')
>>>d={'a':1,'b':2}
>>>print(d)
{'a':1,'b':2}
3.格式化输出
类似于C中的 printf
>>>s
'Hello'
>>>x=len(s)
>>>print("Thelengthof%sis%d"%(s,x))
ThelengthofHellois5
【注意】
Python2和3的print函数格式不同,3要求加括号(print())
缩进最好使用4个空格
Ⅲ python 文件内容处理后输出
首先确认下,你确定格式正确吗?你写的逻辑是,输出的第二行是第一行的内容加上第二行的内容, 第三行的内容是1,2,3行相加的内容, 这样累加,文件当然大了,
至于内存不足,你的写法很有问题,学python时间不长吧,没有人用python这些写循环来迭代列表的
更好的写法是:
lines=open('exp.100','r').readlines()
out=open("out",'w')
output1=[]
foriinlines:
output1.append('set([('+lines[i].replace(' ',')]) ').replace('','),(').replace('-',','))
forkinoutput1:
out.write(output1[k])
Ⅳ python有两种单位输出时怎么办
由于底层的UnitRegistry知道不同单位之间的关系,因此您可以使用to()方法将“数量”转换为您选择的单位。
Pint是一个Python软件包,用于定义,操作和操纵物理量:数值和度量单位的乘积。它允许它们之间的算术运算以及不同单位之间的转换。
在python中如果想给计算结果添加单位,当使用不是很频繁,使用字符串格式化输出就很好了,常用的可以考虑继承float类实现专门的计量单位类。
Ⅳ Python格式化输出的理解怎么样
7.1. 格式化输出
我们有两种大相径庭地输出值方法:表达式语句 和 print() 函数(第三种访求是使用文件对象的 write() 方法,标准文件输出可以参考 sys.stdout,详细内容参见库参考手册)。
通常,你想要对输出做更多的格式控制,而不是简单的打印使用空格分隔的值。有两种方法可以格式化你的输出:第一种方法是由你自己处理整个字符串,通过使用字符串切割和连接操作可以创建任何你想要的输出形式。string 类型包含一些将字符串填充到指定列宽度的有用操作,随后就会讨论这些。第二种方法是使用 str.format() 方法。
标准模块 string 包括了一些操作,将字符串填充入给定列时,这些操作很有用。随后我们会讨论这部分内容。第二种方法是使用 Template 方法。
当然,还有一个问题,如何将值转化为字符串?很幸运,Python 有办法将任意值转为字符串:将它传入 repr() 或 str() 函数。
函数 str() 用于将值转化为适于人阅读的形式,而 repr() 转化为供解释器读取的形式(如果没有等价的语法,则会发生 SyntaxError 异常)某对象没有适于人阅读的解释形式的话,str() 会返回与 repr() 等同的值。很多类型,诸如数值或链表、字典这样的结构,针对各函数都有着统一的解读方式。字符串和浮点数,有着独特的解读方式。
Ⅵ python输出到文件乱码如何解决
python代码文件的编码
py文件默认是ASCII编码,中文在显示时会做一个ASCII到系统默认编码的转换,这时就会出错:SyntaxError: Non-ASCII character。需要在代码文件的第一行或第二行添加编码指示:
1 # coding=utf-8 ##以utf-8编码储存中文字符
2 print '中文'
像上面那样直接输入的字符串是按照代码文件的编码来处理的,如果用unicode编码,有以下三种方式:
1 s1 = u'中文' #u表示用unicode编码方式储存信息
2 s2 = unicode('中文','gbk')
unicode是一个内置函数,第二个参数指示源字符串的编码格式。
decode是任何字符串具有的方法,将字符串转换成unicode格式,参数指示源字符串的编码格式。
encode也是任何字符串具有的方法,将字符串转换成参数指定的格式。
(2)、字符串的编码
用 u'汉字' 构造出来的是unicode类型,不用的话构造出来是str类型
str的编码是与系统环境相关的,一般就是sys.getfilesystemencoding()得到的值
所以从unicode转str,要用encode方法
从str转unicode,所以要用decode
例如:
# coding=utf-8 #默认编码格式为utf-8
s = u'中文' #unicode编码的文字
print s.encode('utf-8') #转换成utf-8格式输出
但当python中间处理非ASCII编码时,经常会出现如下错误:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)
0x??是超出128的数字,python在默认的情况下认为语言的编码是ascii编码,所以无法处理其他编码,需要设置python的默认编码为所需要的编码。
一个解决的方案是在代码中添加:
import sys
reload(sys)
sys.setdefaultencoding('utf-8') (其中utf-8为你想输出的字符编码)
解释:
sys.setdefaultencoding方法在python导入site.py后就删除了(具体代码查看site.py就可以看到)因此如果想用的话可以再重新load进入
总结:
u=u'unicode编码文字'
g=u.encode('gbk') #转换为gbk格式
print g #此时为乱码,因为当前环境为utf-8,gbk编码文字为乱码
str=g.decode('gbk').encode('utf-8') #以gbk编码格式读取g(因为他就是gbk编码的,需要事先知道它是GBK编码)并转换为utf-8格式输出
print str #正常显示中文(同文件输出)
安全的方法:
s.decode('gbk','ignore').encode('utf-8′) #以gbk编码读取(当然是读取gbk编码格式的文字了)并忽略错误的编码,转换成utf-8编码输出。
推荐学习《Python教程》!
Ⅶ python如何打印输出
使用print函数。
print(*objects,sep='',end='\n',file=sys.stdout, flush=False)
objects -- 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
sep -- 用来间隔多个对象,默认值是一个空格。
end -- 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
file -- 要写入的文件对象。
flush -- 输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新。
Ⅷ python打印输出汉字,有一部分出现乱码怎么解决
主要“()”不要用中文括号
冒号不要用中文冒号
引号不要用中文引号
只有要打印的输入内容可以用中文的。
以上最好检查一遍,因为我打的时候经常打错,最好删了重打,因为两种括号太难区分了。
Ⅸ python pandas怎么输出结果
本文是对pandas官方网站上《10 Minutes to pandas》的一个简单的翻译,原文在这里。这篇文章是对pandas的一个简单的介绍,详细的介绍请参考:Cookbook 。习惯上,我们会按下面格式引入所需要的包:
一、 创建对象
可以通过 Data Structure Intro Setion 来查看有关该节内容的详细信息。
1、可以通过传递一个list对象来创建一个Series,pandas会默认创建整型索引:
2、通过传递一个numpy array,时间索引以及列标签来创建一个DataFrame:
3、通过传递一个能够被转换成类似序列结构的字典对象来创建一个DataFrame:
4、查看不同列的数据类型:
5、如果你使用的是IPython,使用Tab自动补全功能会自动识别所有的属性以及自定义的列,下图中是所有能够被自动识别的属性的一个子集:
二、 查看数据
详情请参阅:Basics Section
1、 查看frame中头部和尾部的行:
2、 显示索引、列和底层的numpy数据:
3、 describe()函数对于数据的快速统计汇总:
4、 对数据的转置:
5、 按轴进行排序
6、 按值进行排序
三、 选择
虽然标准的Python/Numpy的选择和设置表达式都能够直接派上用场,但是作为工程使用的代码,我们推荐使用经过优化的pandas数据访问方式: .at, .iat, .loc, .iloc 和 .ix详情请参阅Indexing and Selecing Data 和 MultiIndex / Advanced Indexing。
l 获取
1、 选择一个单独的列,这将会返回一个Series,等同于df.A:
2、 通过[]进行选择,这将会对行进行切片
l 通过标签选择
1、 使用标签来获取一个交叉的区域
2、 通过标签来在多个轴上进行选择
3、 标签切片
4、 对于返回的对象进行维度缩减
5、 获取一个标量
6、 快速访问一个标量(与上一个方法等价)
l 通过位置选择
1、 通过传递数值进行位置选择(选择的是行)
2、 通过数值进行切片,与numpy/python中的情况类似
3、 通过指定一个位置的列表,与numpy/python中的情况类似
4、 对行进行切片
5、 对列进行切片
6、 获取特定的值
l 布尔索引
1、 使用一个单独列的值来选择数据:
2、 使用where操作来选择数据:
3、 使用isin()方法来过滤:
l 设置
1、 设置一个新的列:
2、 通过标签设置新的值:
3、 通过位置设置新的值:
4、 通过一个numpy数组设置一组新值:
上述操作结果如下:
5、 通过where操作来设置新的值:
四、 缺失值处理
在pandas中,使用np.nan来代替缺失值,这些值将默认不会包含在计算中,详情请参阅:Missing Data Section。
1、 reindex()方法可以对指定轴上的索引进行改变/增加/删除操作,这将返回原始数据的一个拷贝:、
2、 去掉包含缺失值的行:
3、 对缺失值进行填充:
4、 对数据进行布尔填充:
五、 相关操作
详情请参与 Basic Section On Binary Ops
统计(相关操作通常情况下不包括缺失值)
1、 执行描述性统计:
2、 在其他轴上进行相同的操作:
3、 对于拥有不同维度,需要对齐的对象进行操作。Pandas会自动的沿着指定的维度进行广播:
Apply
1、 对数据应用函数:
直方图
具体请参照:Histogramming and Discretization
字符串方法
Series对象在其str属性中配备了一组字符串处理方法,可以很容易的应用到数组中的每个元素,如下段代码所示。更多详情请参考:Vectorized String Methods.
六、 合并
Pandas提供了大量的方法能够轻松的对Series,DataFrame和Panel对象进行各种符合各种逻辑关系的合并操作。具体请参阅:Merging section
Concat
Join 类似于SQL类型的合并,具体请参阅:Database style joining
Append 将一行连接到一个DataFrame上,具体请参阅Appending:
七、 分组
对于”group by”操作,我们通常是指以下一个或多个操作步骤:
(Splitting)按照一些规则将数据分为不同的组;
(Applying)对于每组数据分别执行一个函数;
(Combining)将结果组合到一个数据结构中;
详情请参阅:Grouping section
1、 分组并对每个分组执行sum函数:
2、 通过多个列进行分组形成一个层次索引,然后执行函数:
八、 Reshaping
详情请参阅 Hierarchical Indexing 和 Reshaping。
Stack
数据透视表,详情请参阅:Pivot Tables.
可以从这个数据中轻松的生成数据透视表:
九、 时间序列
Pandas在对频率转换进行重新采样时拥有简单、强大且高效的功能(如将按秒采样的数据转换为按5分钟为单位进行采样的数据)。这种操作在金融领域非常常见。具体参考:Time Series section。
1、 时区表示:
2、 时区转换:
3、 时间跨度转换:
4、 时期和时间戳之间的转换使得可以使用一些方便的算术函数。
十、 Categorical
从0.15版本开始,pandas可以在DataFrame中支持Categorical类型的数据,详细 介绍参看:categorical introction和API documentation。
1、 将原始的grade转换为Categorical数据类型:
2、 将Categorical类型数据重命名为更有意义的名称:
3、 对类别进行重新排序,增加缺失的类别:
4、 排序是按照Categorical的顺序进行的而不是按照字典顺序进行:
5、 对Categorical列进行排序时存在空的类别:
十一、 画图
具体文档参看:Plotting docs
对于DataFrame来说,plot是一种将所有列及其标签进行绘制的简便方法:
十二、 导入和保存数据
CSV,参考:Writing to a csv file
1、 写入csv文件:
2、 从csv文件中读取:
HDF5,参考:HDFStores
1、 写入HDF5存储:
2、 从HDF5存储中读取:
Excel,参考:MS Excel
1、 写入excel文件:
2、 从excel文件中读取:
来自为知笔记(Wiz)
Ⅹ python 如何将一系列数字十个一行输出
定义一个变量,用于记录次数,然后这个次数没输出一个数自己加1,然后处理这个数,取整数,并且再次归零。
使用循环输出列表,利用 计数器控制输出数量,当输出到第十个,计数器归零,重新开始计数
print输出增加end参数可以控制输出后以什么结尾
这里使用range方法快速生成10-90的数字添加进list列表
results = list(range(10, 90))
n = 10 # 每10个数换一行
for i in range(len(results)):
print(results[i], end=' ')
if (i+1) % 10 == 0:
print(" ") # 为转义符 换行的意思
#out:
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个序列的内置类型,但最常见的是列表和元组。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型
Python列表函数&方法
1 cmp(list1, list2)比较两个列表的元素
2 len(list)列表元素个数
3 max(list)返回列表元素最大值
4 min(list) 返回列表元素最小值
5 list(seq)将元组转换为列表