2017-01-10 96 views
-1

我一直在搞collat​​z程序,我寫了幾天回來學習python,最近加入了一個列表。如何在python中掃描,創建,讀寫文本文件?

from heapq import nlargest 

list=[] 

number = input("Please enter range: ")+1 


def collatz(a): 
    if a%2==0: 
     return a/2 
    else: 
     return (3*a)+1 


for x in range(1,number): 
    n=x 
    count=(-1) 
    while n>=1: 
     print "%s " % (n), 

     if n==1: 
      n=0 

     n=collatz(n) 
     count+=1 
    print "\n\n%s: %s\n\n" % (x, count) 
    list.insert(x,count) 
    x+=1 

print "%s\n\n" % (list) 

現在我希望能夠保存數據輸出,這樣我可以在Excel中使用它的例子,但也讓我沒有繼續從1開始(說我跑一次了到10,然後再運行一次,我希望它從10開始到20開始,就像我運行一次到20次一樣)。如果可能的話,如果沒有找到,我還想讓它生成自己的文本文件。 乾杯。

+1

[7.2讀取和寫入文件(https://docs.python.org/3/tutorial/inputoutput.html#reading-and-寫文件)可能是一個好的開始。 – usr2564301

回答

0

你想要做什麼樣的數據追加到CSV:

import csv 
filename = "myfilename.csv" 

with open(filename, 'a') as myfile: 
    writer = csv.writer(myfile) 
    writer.writerow(list) 

'a'手段追加。如果沒有找到,它會創建一個新文件。 'w'寫入一個文件並覆蓋它,如果你再次運行該程序。 使用writerow寫一個列表(單列),用writerows寫一個列表的列表(所有行)

然後,你可以稍後再閱讀您的CSV:

import csv 
with open(filename, 'r') as myfile: 
    reader = csv.reader(myfile) 
    for row in reader: 
     print(row) 
+0

乾杯,我覺得我應該對此有所瞭解。我可以在哪裏瞭解它?有什麼地方可以查閱csv文件的基礎知識嗎?感謝您的幫助btw – user7389469

+0

所有基本的python工具都非常容易使用。 「python csv」產生了這篇不錯的文章:https://pymotw.com/2/csv/ – Roman

0

您可以創建一個數據框,你然後可以寫一個新的.csv文件

import pandas as pd 

創建DataFrame,在你的代碼的末尾:df = pd.DataFrame(data=*some data e.g. list*, index=i)

i = range(1, x) 

df = pd.DataFrame(data=list, index=i) 
print 'dataframe: ', df 

從數據幀到.csv文件:DataFrame.to_csv()

df.to_csv('C:/Users/.../new_file.csv') 
+0

非常感謝,你知道我可以在哪裏學到更多關於這方面的知識嗎?它現在看起來對我來說真的很陌生...... – user7389469

+1

你可以點擊我的答案中的藍色文本,它會帶你到這些鏈接:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame .html和http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html –

+0

@ user7389469考慮到您是超級新手,我建議您堅持使用內置功能。雖然我非常喜歡熊貓,但是安裝額外的軟件包會給您的學習曲線增加一層額外的複雜性,而這些複雜性對於編寫CSV文件並不需要。 – Roman