我写了一些代码并尝试重构它以减少一些步骤,我似乎无法找到答案。我正在阅读一个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上进行查找和替换,并尝试将该步骤从该过程中删除。如果有人有任何想法如何在上述功能中做到这一点将不胜感激!!
答案 0 :(得分: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)])