Python CSV Writer将“.0”附加到所有整数[重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我写了一些代码并尝试重构它以删除几个步骤,我似乎无法找到答案。我正在阅读一个excel文件并做一堆列重命名和删除列我不需要。我的最终目标是将Excel文件编写为文本制表符分隔文件,并以非常hacky的方式完成所有这些。我有一个函数convertToText(),它读取excel文件并将其转换为txt文件。但是,文件中的每个整数都会在末尾附加.0。

防爆。

Excel value 1234321

Txt File = 1234321.0

我只是使用pandas,openpyxl和xlrd进行简单的读写操作。

def convertToText():
        with open(os.path.join(outFile, 'target2.txt'), 'wb') as myTxtfile:
            wr = csv.writer(myTxtfile, delimiter="\t") 
            myfile = xlrd.open_workbook(outFile + fileName)
            mysheet = myfile.sheet_by_index(0)
            for rownum in xrange(mysheet.nrows):
               wr.writerow(mysheet.row_values(rownum))

我不得不编写第二个函数,只是为了在.0上进行查找和替换,并尝试将该步骤从流程中删除。如果有人有任何想法如何在上述功能中做到这一点将不胜感激!!

python csv writer
1个回答
0
投票

this和你的意思是一回事吗?

所以我认为你的代码应该成为,虽然我没有测试数据,所以我不能尝试:

def convertToText():
    with open(os.path.join(outFile, 'target2.txt'), 'wb') as myTxtfile:
        wr = csv.writer(myTxtfile, delimiter="\t") 
        myfile = xlrd.open_workbook(outFile + fileName)
        mysheet = myfile.sheet_by_index(0)
        for rownum in xrange(mysheet.nrows):
           wr.writerow([int(i) for i in mysheet.row_values(rownum)])
© www.soinside.com 2019 - 2024. All rights reserved.