Tag: python

xlwings可以在后台运行excel吗?

我运行了一个Python XLWings代码,其中依次调用多个Excel文件。 尽pipe代码在处理之后closures了每个Excel(并且在任何特定时刻不超过1个Excel),但是这个过程变得越来越慢。 内存testing显示在closuresexcel文件后剩余的进程仍然存在。 有没有更顺利的方法来做到这一点? 也许XLWings可以在后台模式下调用这些Excel文件,而不需要花费时间和内存来加载界面? 感谢您的帮助。

将Bash脚本输出附加到Excel

我有一个奇特的情况让我们做一个背景。 背景: 我们有一个内部开发的用于testing企业服务器的脚本。 脚本是用Bash编写的。 脚本的神奇之处在于dmidecode命令。 该脚本在Linux Mint上运行,并通过PXE部署。 脚本的输出包含有关处理器,内存,系统板和机箱部件号等的硬件信息。根据映像引导的设备,此信息始终在变化。 所有这些数据然后被写入一个可读格式,然后手动添加到Excel电子表格中。 Excel工作表分解如下:行1:A1(资产编号),B1(数量“始终为1”),C1(制造商),D1(型号),E1(部件编号),F1(序列号),G1 (RAM(Mb)),H1(CPU数量),L1(CPU速度(GHZ)) 示例数据列名称: 列数据:行2:6112,1,HP,Proliant DL580 G2,325134-001,USE247ML97,1024,2,2.8 所以每行表示一个单独的服务器,这些列包含来自我们之前提到的bash脚本的数据。 目标: 好的,所以我的目标是将bash脚本的输出自动附加到存储在本地CIFS文件服务器上的现有Worksheet中。 由于脚本是在Linux上启动的,Powershell不是一个可行的选项。 我认为Openpyxl可以完成这项工作,但我不知道如何处理这个问题。 我知道我将无法修改现有的工作簿。 鉴于此,我正在考虑在内存中加载现有的文档,并用相同的文件名覆盖。 另外,我看到的所有关于Openpyxl的教程似​​乎都有静态数据,我没有这种奢侈。 这甚至可能或者只是一个微妙的白日梦?

如何使用For Loops将数据从Excel导出到Python?

我已经弄清楚如何使用For循环打印Excel电子表格中的数据,但是我知道我想将每列作为不同的variables导出,以便我可以操纵它们,例如使用plot.ly绘制graphics 我到目前为止所使用的是; import xlrd book = xlrd.open_workbook('filelocation/file.xlsx') sheet = book.sheet_by_index(0) for j in range(1,4): for i in range(2,8785): print "%d" %sheet.cell_value(i,j) 这只是从电子表格打印到我的terminal,这是没有用的所有数字。 但是我想要这样的东西; import xlrd book = xlrd.open_workbook('filelocation/file.xlsx') sheet = book.sheet_by_index(0) for j= 1: for i in range(2,8785): Time= "%s" %sheet.cell_value(i,j) for j= 2: for i in range(2,8785): SYS= "%s" %sheet.cell_value(i,j) 这将为每列声明不同的variables。 但据我所知,从错误信息我似乎使用For循环错误,我不熟悉For循环在Python中,我只有真正在Matlab中使用它们。 *编辑*固定缩进的问题,在原来的代码罚款,而不是错误的来源。

如何将工作表转换为Pandas中的数据框架?

我正在尝试从pandas的Python工作簿中读取不同的工作表。 当我阅读整个工作簿,然后我想应用一个.merge()时,第一个工作表被读取,但其他人不考虑。 我试图读取工作簿的每个工作表,但我猜他们没有成功转换为数据框,因为当我应用.merge()我最终以下错误: ValueError: Invalid file path or buffer object type: <class 'pandas.core.frame.DataFrame'> 这是我迄今为止所做的: 此代码用于将整个工作簿转换为数据框,但只处理第一个工作表的数据 import pandas as pd import pypyodbc #sql extractor start_date = date.today() retrieve_values = "[DEV].[CS].[QT_KPIExport] @start_date='{start_date:%Y-%m-%d}'".format( start_date=start_date) connection = pypyodbc.connect(driver="{SQL Server}", server="xxx.xxx.xxx.xxx", uid="X",pwd="xxx", Trusted_Connection="No") data_frame_sql = pd.read_sql(retrieve_values, connection) #Read the entire workbook wb_data = pd.ExcelFile("C:\\Users\\Dev\\Testing\\Daily_Data\\NSN-Daily Data Report.xlsx") #Convert to a dataframe […]

用Pandas从函数返回多个DataFrame

我试图parsing多个Excel与pandas分为单独的个人数据框。 我的代码到目前为止是: sheet_names =[tab1, tab2] df_names = [1,2] def initilize_dataframes(sheet_names): for name in sheet_names: df = xls_file.parse(name) #parse the xlxs sheet df = df.transpose() #transpose dates to index new_header = df.iloc[0] #column header names df = df[1:] #drop 1st row df.rename(columns=new_header, inplace= True) #rename the columns return df` ` for i in df_names: df_(i) = […]

xlwings在Excel 2010中向单元格写入问题

目前我正在努力通过Python脚本pipe理与Excel文件的SQL连接。 该脚本使用xlwings读取和写入工作簿。 不幸的是,只有“阅读”一块运作。 我已经梳理了一段时间Stackoverflow今天没有人似乎有这个确切的问题。 这里是我在相关的Python脚本中写的一些debugging代码(它作为UDF存在于工作表上,我试图写入的表是不同的)。 我对Python或xlwings没有太多的经验,所以可以自由地抱怨结构/语法:) @xw.func def compatTest(): #use active workbook wb = xw.Book.caller() #does the sheet Notes exist? if wb.sheets['Notes']: status = "Status: " #does A1 in Notes have a value? if wb.sheets['Notes'].range('$A$1').value: status += "Good" #Can we write to the specified empty cell? try: wb.sheets['Notes'].range('$E$1').value = 'something' #Nope 🙁 except Exception as […]

PyQt从excel中填充QTableWidget

即时尝试填充QTableWidget从Excel文件中的一些数据,我想添加行到我的QTable只有当ID是在列表ID,并且我在QTable单元格中没有数据 https://drive.google.com/file/d/0B_PFK3V2Ij4tSko4emplYmNuN1E/view?usp=sharing这里是一个excel文件,它不包含任何格式或公式,只是空的行和列,因为文件是自动生成的 这是我的代码 wb = openpyxl.load_workbook(os.path.join(os.getcwd(), file), read_only=True) ws = wb.active headers = [] for item in ws[4]: headers.append(item.value) headers.pop(0) listID = [] for index in range(self.listWidgetID.count()): listID.append(self.listWidgetID.item(index).text()) data = ws.iter_rows(row_offset=5, column_offset=1) row_increment = 0 self.tableWidgetDATA.setRowCount(1) self.tableWidgetDATA.setColumnCount(len(headers)) self.tableWidgetDATA.setHorizontalHeaderLabels(headers) for x, rows in enumerate(data): if str(rows[0].value) in listID: for y, cell in enumerate(rows): item = QTableWidgetItem(str(cell.value)) […]

Python 3 – 从构造的Dictionary中使用pandas写入excel

你好,Pythonic爱好者。 我遇到了一个相当有趣的小问题,由于缺乏经验,我无法解决。 我正在基于一组图表数据库中的答案构build一个字典,我已经遇到了一个有趣的困境。 (我正在运行Python 3 当所有的事情都说完之后,我会在excel文件中得到如下的输出示例(这是从第0列开始的,每一行都是一行: 实际表格格式: 0/{'RecordNo': 0} 1/{'Dept': 'DeptName'} 2/{'Option 1': 'Option1Value'} 3/{'Option 2': 'Option2Value'} 4/{'Question1': 'Answer1'} 5/{'Question2': 'Answer2'} 6/{'Question3': 'Answer3'} 等等.. 预期的EXCEL格式: 0/Dept, Option 1, Option 2, Question 1, Question 2, Question 3 1/DeptName, Option1Value, Option2Value, Answer1, Answer2, Answer3 字典的键应该是标题和值,每一行的内容,但是由于某种原因,当我使用下面的输出代码时,它将它写出来作为键和值: EXCEL作者代码: ReportDF = pd.DataFrame.from_dict(DomainDict) WriteMe = pd.ExcelWriter('Filname.xlsx') ReportDF.to_excel(WriteMe, 'Sheet1') try: WriteMe.save() print('Save […]

为什么zipfile试图解压xlsx文件?

我正在尝试使用下面的代码来解压缩根文件夹中的所有压缩文件夹; 这个代码被发现在这个线程上: 使用python解压缩文件夹和子文件夹中的zip文件 rootPath = u"//rootdir/myfolder" # CHOOSE ROOT FOLDER HERE pattern = '*.zip' for root, dirs, files in os.walk(rootPath): for filename in fnmatch.filter(files, pattern): print(os.path.join(root, filename)) zipfile.ZipFile(os.path.join(root, filename)).extractall(os.path.join(root, os.path.splitext(filename)[0])) 但我不断收到这个错误说FileNotFoundError说xlsx文件不存在: Traceback (most recent call last): File "//rootdir/myfolder/Python code/unzip_helper.py", line 29, in <module> zipfile.ZipFile(os.path.join(root, filename)).extractall(os.path.join(root, os.path.splitext(filename)[0])) File "//rootdir/myfolder/Python\Python36-32\lib\zipfile.py", line 1491, in extractall self.extract(zipinfo, path, pwd) […]

XLWT:如何访问以前写入的单元格?

我已经使用'xlwt'创build了一个excel工作簿。在我的程序中,下面给出了几个单元格的一些值。 现在,我如何访问这些单元格? """ Create 'Data_Table.xls' Excel workbook """ book = xlwt.Workbook() sheet1 = book.add_sheet("Data_Table") """ Define First row in 'Data_Table.xls'""" sheet1.write(0,0, "Variable Name") sheet1.write(0,1, "Global Static Variable?") 我如何访问单元格(0,0)或(0,1)中的数据?