2013-05-19 54 views
-2

我編寫了一個小腳本,用於從我正在處理的文本文件中提取一些不必要的列。我不確定如何在不丟失數據的情況下將其打印到文本文件。將所有值打印到Python中的.txt文件中

import pandas as pd 
from pandas import * 

df = pd.read_table('newclass.txt', sep=r'\s+') 
newcol=['A'] 
df = df[newcol] 

for i in df: 
    print df 

但這只是給出了模樣, (舉例來說)的文本文件

value1 
value2 
value3 
value4 
... 
value### 
value### 

...其中###是在列表的末尾只是更高的價值。正如你所看到的,它不能顯示所有的值(列表的中間)。如何獲得所有值的打印輸出?

謝謝。

回答

1

您可以在數據框使用to_csv(你只需要指定你想要一個空間作爲分隔符):

path = "fixedfile.txt" 
df.to_csv(path, sep=" ", index=False) 
+0

這樣的工作,但它可以打印出來沒有索引值旁邊? – Matt

+0

@Matt你可以使用'index = False'。我添加了一個到'to_csv'文檔的鏈接,它可以回答您的更多問題。 –

+0

@Matt如果這對你有用,你應該點擊勾選標記,這樣每個人都可以告訴你的問題已經解決。 –

0

最初我的問題是,我是讓我的所有數據的最小輸出,其次,我不想在我的第一列前面有一個索引。我的解決辦法:

import pandas as pd 
from pandas import * 

df = pd.read_table('newclass.txt',sep='\s+') 
newcol=['Mon-id'] 
df = df[newcol] 

print df.to_string(index=False) 

根據文檔大熊貓自動降低它的輸出,除非你不指定它與.to_string命令。

+0

正確,'to_string'是你想要的,如果你想打印它。 'to_csv'將它直接輸出到一個文件中(或者,如果你想獲得一個字符串,你可以將它傳遞給'StringIO'實例) –

相關問題