簡體   English   中英

使用python將文件逐行寫入excel中的文本文件

[英]writing files row wise to a text file in excel using python

我有一個像這樣的Excel文件:

208324_at   akp13_human 7       6.9     5.8     5    7       5.7
208325_s_at akp13_human 25.5    21.3    9.9     9    13.1    8.5

我必須找到每個值的日志並將其寫入另一個文本文件。 以下是代碼:

    import xlrd
    from xlrd import open_workbook, XL_CELL_TEXT
    import math

    filename = "log_values.txt"
    computed_value = []
    i = 0

    with open_workbook("log10wholetest.xlsx") as f:
        sheet = f.sheet_by_index(0)
        n = sheet.nrows
        for i in range(0, n-1):
            a = sheet.row_values(i)
            b = map(float, a)

            for line in b :
                log = math.log10(float(line))
                computed_value.append(log)
                i += 1

            with open(filename, 'w') as g:
                for value in computed_value :
                    g.write("%s\t" % value)

這給了我一個文本文件,結果是連續的,例如:

2.55750720191   2.53995384166   2.21827285357   

等等。 但我希望將結果按行打印,因為文件row2的日志值應從第二行(結果文件中)開始,依此類推。 如果這是一個非常簡單的問題,對不起,但是我對python來說是全新的。

您在g結束時缺少換行符:

        with open(filename, 'w') as g:
            for value in computed_value :
                g.write("%s\t" % value)
            g.write('\n')

這將確保對於輸入中的每一行,您都將在輸出g獲得一行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM