Tag: python

使用Python从PowerPivot模型中提取原始数据

当我必须使用Python读取PowerPivot模型中的某些数据时,看起来像是一件简单的任务变成了一场真正的噩梦。 我相信在过去的几天里我已经研究得非常好,但现在我碰壁了,希望得到来自Python / SSAS / ADO社区的帮助。 基本上,我想要做的就是以编程方式访问存储在PowerPivot模型中的原始数据 – 我的想法是通过下面列出的方法之一连接到底层PowerPivot(即MS Analysis Services)引擎,列出模型中包含的表,然后使用简单的DAX查询(如EVALUATE (table_name) )从每个表中提取原始数据。 容易的松懈,对吧? 那么,也许不是。 0.一些背景信息 正如你所看到的,我尝试了几种不同的方法。 我将尽可能仔细地logging所有事情,以便那些在PowerPivotfunction中不熟悉的人能够很好地了解我想要做什么。 首先,对Analysis Services引擎进行编程式访问的一些背景知识(它说2005 SQL Server,但它们都应该仍然适用): 用于Analysis Services连接的 SQL Server数据挖掘可编程性和数据提供程序 。 下面的示例中将使用示例Excel / PowerPivot文件,可以在此处find: Microsoft PowerPivot for Excel 2010和PowerPivot Excel 2013示例 。 此外,请注意,我正在使用Excel 2010,所以我的一些代码是特定于版本的。 例如wb.Connections["PowerPivot Data"].OLEDBConnection.ADOConnection如果您使用的是Excel 2013,则wb.Connections["PowerPivot Data"].OLEDBConnection.ADOConnection应该是wb.Model.DataModelConnection.ModelConnection.ADOConnection 。 我在这个问题中使用的连接string是基于这里find的信息: 使用C#连接到PowerPivot引擎 。 此外,一些方法显然需要在数据检索之前对PowerPivot模型进行某种初始化。 请参阅此处: 从VBA自动执行PowerPivot刷新操作 。 最后,这里有几个链接显示这应该是可以实现的(但是请注意,这些链接主要是指C#,而不是Python): 连接到PowerPivot DataModel,我怎样才能用它填充数据集? […]

用Python格式化Excel中的单元格

如何使用python格式化Excel中的单元格? 特别是我需要改变几个后续行的字体,而不是粗体。

如何检查上传的文件是python的csv或xls?

如何查看上传文件是CSV还是XLS 。 如何检查它在Python中。 我正在导入一个文件到openerp中的二进制字段,可以作为一个二进制对象。 我需要读取文件并将数据导入到表中。 用户可以上传csv或xls文件。 通过只知道我可以使用csv包或xlrd包。

Django / python和与xlwt语言环境格式化的isues

我正在使用django-excel-view使用django-excel-response来反过来使用xlwt。 我有一个场景,用户可以切换语言环境,让他们查看带有标准小数点的浮点数,或者在某些语言中使用逗号小数点。 将视图导出为带有标准小数点区域设置的xls时,它工作得很好,但使用逗号小数使得xls文件将float存储为文本,并在该数字之前添加了一个撇号(例如'123,45)。 我有一种感觉,ExcelResponse( https://djangosnippets.org/snippets/1151/ )没有正确处理float(参见代码片段的第43行)。 什么是正确的xlwt样式申请的xls正确使用逗号小数保存,什么是一个好方法来检查一个值是逗号小数,应该有这种风格应用? 换一种说法: styles = {'datetime': xlwt.easyxf(num_format_str='yyyy-mm-dd hh:mm:ss'), 'date': xlwt.easyxf(num_format_str='yyyy-mm-dd'), 'time': xlwt.easyxf(num_format_str='hh:mm:ss'), 'default': xlwt.Style.default_style, 'comma_decimal': xlwt.easyxf('????????')} for rowx, row in enumerate(data): for colx, value in enumerate(row): if isinstance(value, datetime.datetime): cell_style = styles['datetime'] elif isinstance(value, datetime.date): cell_style = styles['date'] elif isinstance(value, datetime.time): cell_style = styles['time'] elif isinstance(value, ?????????????): cell_style = styles['comma_decimal'] […]

在Python中dynamic生成XLSXWriter图表 – 不参考

我正在使用下面的类,我写了试图dynamic创build一个Excel文件,其中有几个工作表,每个工作表中有一个打印的数据框和一个柱状图。 Interacton与代码(见下面)应该在你启动工作簿的地方起作用: test = Workbook('Test Workbook') 然后,您可以添加尽可能多的图表,只要你想: test.add_chart(df, 'Df Title', 1) test.add_chart(df2, 'Df2 Title', 1) 然后你制作工作簿: test.produce() input数据框有标题。 第一列是文本类别,随后的列(不同数目)是以小数forms的数据,这些数据被绘制为百分比。 问题:代码工作得很好,似乎用图表分别生成了所有的工作表,但有些图表显示为“未引用”,这意味着当我点击柱状图中的一个条时,它不会突出显示源数据。 一些用代码编写的图表,DO适当地参照了,所以我不确定问题在哪里,而且没有明显的趋势。 import xlsxwriter import pandas as pd class Workbook: def __init__(self, workbook_name): self.workbook_name = workbook_name self.workbook = xlsxwriter.Workbook(str(self.workbook_name) + '.xlsx') self.letters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', […]

拼合双嵌套的JSON

我想展平一个如下所示的JSON文件: { "teams": [ { "teamname": "1", "members": [ { "firstname": "John", "lastname": "Doe", "orgname": "Anon", "phone": "916-555-1234", "mobile": "", "email": "john.doe@wildlife.net" }, { "firstname": "Jane", "lastname": "Doe", "orgname": "Anon", "phone": "916-555-4321", "mobile": "916-555-7890", "email": "jane.doe@wildlife.net" } ] }, { "teamname": "2", "members": [ { "firstname": "Mickey", "lastname": "Moose", "orgname": "Moosers", "phone": "916-555-0000", "mobile": "916-555-1111", […]

Python和Excel:尽pipe有XlSaveConflictResolution值,覆盖现有文件总是会提示

我使用Python程序中的Excel.Application COM对象来打开一个CSV文件并将其保存为一个Excel工作簿。 如果目标文件已经存在,那么系统会提示以下消息:“在这个位置已经存在一个名为'…'的文件,你想replace它吗? 尽pipe事实上我已经把XlSaveConflictResolution的值设置为xlLocalSessionChanges ,但是这个消息应该会自动覆盖这些更改而不会提示 – 或者我想。 我正在使用Microsoft Office Excel 2007(12.0.6535.5002)SP2 MSO和ActivePython 2.6.5.14。 我已经尝试使用常量和整数的所有三个XlSaveConflictResolution值。 我还没有尝试不同版本的Excel。 这是一个代码片段: import win32com.client xl = win32com.client.gencache.EnsureDispatch("Excel.Application") wb = xl.Workbooks.Open(r"C:\somefile.csv") wb.SaveAs(r"C:\somefile.xls", win32com.client.constants.xlWorkbookNormal, \ None, None, False, False, win32com.client.constants.xlNoChange, \ win32com.client.constants.xlLocalSessionChanges) 以下是Microsoft关于Excel工作簿对象SaveAs方法的规范: http : //msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.workbook.saveas(VS.80).aspx 这可能是一个新的“function”在Excel 2007中,或者我只是做错了什么?

通过PyXLL加载scipy – 任何人成功通过PyXLL加载scipy?

我正在使用Python 2.6,Excel 2007 Professional和最新版本的PyXLL。 当在PyXLL中加载模块时 import scipy 引发exception,模块未加载。 有没有人能够在PyXLL中加载Scipy? 这可能是一个版本问题? 抛出的exception是: 2010-12-21 17:21:30,915 – ERROR : Error importing 'options': DLL load failed: A dynamic link library (DLL) initialization routine failed. 2010-12-21 17:21:30,915 – ERROR : Traceback (most recent call last): 2010-12-21 17:21:30,915 – ERROR : File "pyxll", line 402, in _open 2010-12-21 17:21:30,915 – ERROR […]

在Python中读取.xlsx格式

我必须在Python中每隔10min读取.xlsx文件。 什么是最有效的方法来做到这一点? 我试过使用xlrd,但它不会读取.xlsx – 根据他的文档,但我不能这样做 – 获取Unsupported format, or corrupt fileexception。 什么是最好的方式来阅读xlsx? 我也需要在单元格中阅读评论。

xlwt – 如何将分页符添加到Excel文件?

我试图在Excel中使用Python和xlwt更改列值时添加分页符。 有谁知道如何做到这一点? 我find了一个例子,但是他们并没有真正地说出他们的代码是否工作,他们也没有说出元组中数字的含义: ws.horz_page_breaks = [(54, 0, 255), (108, 0, 255)]