开始使用python处理数据

时间:2010-07-26 20:06:04

标签: python excel vba

我有一个大约300万个细胞的excel电子表格。我问了以下问题,我喜欢将电子表格保存为CSV然后用python处理它的答案:

solution to perform lots of calculations on 3 million data points and make charts

  1. 是否有一个我可以使用的库,它会将csv读入矩阵或者我应该自己写一个?
  2. python是否完全与VBA对话?
  3. 在完成数据处理后,是否可以将其以CSV格式重新打印,以便我可以在excel中打开它进行查看?

4 个答案:

答案 0 :(得分:3)

我喜欢NumPy的loadtxt这类事。可配置用于读取CSV。并且savetxt在操纵之后将它放回去。或者,如果您不想安装任何新内容,可以查看内置的csv模块。

答案 1 :(得分:3)

  

是否有一个我可以使用的库,它会将csv读入矩阵或者我应该自己写一个?

csv模块可以处理您想要的所有内容。

  

python根本不和VBA说话吗?

Iron Python可能。

  

在我完成数据处理之后,将其以CSV格式重新打印是否很简单,以便我可以在excel中打开它进行查看?

csv模块可以处理您想要的所有内容。

建议:阅读:http://docs.python.org/library/csv.html

答案 2 :(得分:1)

如果我们说pythonish,为什么不使用http://www.python-excel.org/

读取文件的示例:

import xlrd
rb = xlrd.open_workbook('file.xls',formatting_info=True)
sheet = rb.sheet_by_index(0)
for rownum in range(sheet.nrows):
  row = sheet.row_values(rownum)
  for c_el in row:
    print c_el

编写新文件:

import xlwt
from datetime import datetime

font0 = xlwt.Font()
font0.name = 'Times New Roman'
font0.colour_index = 2
font0.bold = True

style0 = xlwt.XFStyle()
style0.font = font0

style1 = xlwt.XFStyle()
style1.num_format_str = 'D-MMM-YY'

wb = xlwt.Workbook()
ws = wb.add_sheet('A Test Sheet')

ws.write(0, 0, 'Test', style0)
ws.write(1, 0, datetime.now(), style1)
ws.write(2, 0, 1)
ws.write(2, 1, 1)
ws.write(2, 2, xlwt.Formula("A3+B3"))

wb.save('example.xls')

页面上还有其他示例。

答案 3 :(得分:1)

如果您不想处理来自CSV的来回更改,可以使用win32com,可在此处下载。 http://python.net/crew/mhammond/win32/Downloads.html