2017-01-10 98 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