我想将excel文件的每一列保存在单独的文本文件中。
例如......
ID, contents
1, aaa is bla bla bla
2, ccc is bla bla bla
我想将1 aaa is bla bla bla
保存在a.txt
中
并将2 ccc is blablabla
保存在b.txt
。
我怎样才能在Python中执行此操作?
答案 0 :(得分:1)
如果这里有Python问题,答案可能会使用csv module: - )
如果是Excel问题,则“制表符分隔文本(.txt)”有一个SaveAs选项,“逗号分隔值(* .csv)”有另一个选项。以下是分步教程:http://www.howtogeek.com/79991/convert-an-excel-spreadsheet-to-a-tab-delimited-text-file/
如果要从Python控制Excel并在Windows上,可以使用Win32API的COM接口。这是一个简单的例子:http://users.rcn.com/python/download/quoter.pyw
答案 1 :(得分:0)
您的问题询问如何“保存Excel文件的每一列”,但从您的示例中,您似乎确实希望将每行保存在单独的文件中。 Raymond已经建议使用COM接口。这里有一些对我有用的代码:
import win32com.client
STARTROW = 2
ENDROW = 3
xl = win32com.client.Dispatch("Excel.Application")
xl.DisplayAlerts = False
workbook = xl.Workbooks.Open("C:\FULL\PATH\TO\EXCEL\FILE\HERE.xls")
sheet = workbook.ActiveSheet
letter = 'a'
for row in xrange(STARTROW, ENDROW + 1):
dest = open(letter + ".txt", 'w')
dest.write("{0},{1}".format(sheet.Cells(row, 1).Text, sheet.Cells(row, 2).Text))
dest.close()
letter = chr(ord(letter)+1)
xl.Quit()
如果文件中有超过26行,那么您将需要一个更好的目标文件名方案。