Python csv reader返回公式而不是值

时间:2013-03-15 20:11:12

标签: python excel csv

我有一个txt文件,其中包含一些'excel公式',我已使用Python csv reader / writer将其转换为csv文件。现在我想读取csv文件的值并进行一些计算,但是当我尝试访问.csv文件的特定列时,它仍然返回'excel公式'而不是实际值?虽然我打开csv文件..公式转换为值??
有什么想法吗?

这是代码

将txt转换为csv的代码

def parseFile(filepath):

    file = open(filepath,'r')
    content = file.read()
    file.close()

    lines = content.split('\n')

    csv_filepath = filepath[:(len(filepath)-4)]+'_Results.csv'
    csv_out = csv.writer(open(csv_filepath, 'a'), delimiter=',' , lineterminator='\n')             
    for line in lines:

                data = line.split('\t')
                csv_out.writerow(data)   

   return csv_filepath

在csv文件中进行计算的代码

def csv_cal (csv_filepath):


    r = csv.reader(open(csv_filepath)) 

    lines = [l for l in r]
    counter =[0]*(len(lines[4])+6)

    if lines[4][4] == 'Last Test Pass?' :
        print ' i am here'

        for i in range(0,3):
            print lines[6] [4]  ### RETURNS FORMULA ??


    return 0

我是python的新手,任何帮助都将不胜感激! 谢谢,

1 个答案:

答案 0 :(得分:0)

您可以在Excel中粘贴特殊,并选择仅限值选项。您可以选择全部并粘贴到另一个工作表并保存。这样可以避免在python中实现某种解析器。或者,您可以使用eval评估一些简单的算术。

编辑:

我听说xlrd可以从pypi下载。它加载.xls文件。

听起来你只想要过去特殊的最终数据。