導航:首頁 > 編程語言 > python中輸出處理

python中輸出處理

發布時間:2022-04-29 11:51:30

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

【注意】

Ⅲ 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)將元組轉換為列表

閱讀全文

與python中輸出處理相關的資料

熱點內容
數學奇跡神奇運演算法 瀏覽:359
大廠的程序員的水平如何 瀏覽:700
遺傳演算法入門經典書籍 瀏覽:878
源碼炮台腳本 瀏覽:620
在位編輯命令 瀏覽:347
曲式分析基礎教程pdf 瀏覽:14
php生成靜態html頁面 瀏覽:964
怎麼分割pdf 瀏覽:812
壓縮垃圾報警器 瀏覽:628
小公司一般都用什麼伺服器 瀏覽:967
java獲取時間gmt時間 瀏覽:820
為什麼csgo一直連接不到伺服器 瀏覽:504
安卓登ins需要什麼 瀏覽:836
機器人演算法的難點 瀏覽:226
全自動化編程 瀏覽:726
程序員高薪限制 瀏覽:693
壓縮圖片壓縮 瀏覽:75
美國發明解壓魔方 瀏覽:302
電腦怎麼備案網上伺服器 瀏覽:515
旅行商問題Python寫法 瀏覽:952