Tag: python 3.x

如何从pandas差异中获取细胞位置?

df1 = pd.read_excel(mxln) # Loads master xlsx for comparison df2 = pd.read_excel(sfcn) # Loads student xlsx for comparison difference = df2[df2 != df1] # Scans for differences 无论哪里都有差别,我想将这些单元位置存储在一个列表中。 它需要格式为'A1'(不是像[1,1]),所以我可以通过它: redFill = PatternFill(start_color='FFEE1111', end_color='FFEE1111', fill_type='solid') lsws['A1'].fill = redFill lsfh.save(sfcn) 我已经看过这样的解决scheme,但我不能得到它的工作/不理解它。 例如,以下不起作用: def highlight_cells(): df1 = pd.read_excel(mxln) # Loads master xlsx for comparison df2 = pd.read_excel(sfcn) # […]

xlutils只适用于xls,而不是xlsx?

我有一个现有的Excel工作簿Workbook_A 。 我正在创build一个相同的工作簿Workbook_B ,然后将一些值插入新工作簿中的某些单元格中。 我正在做的简化版本: from xlrd import open_workbook from xlutils.copy import copy rb = open_workbook(Workbook_A) wb = copy(rb) s = wb.get_sheet(0) s.write(row, col, value) wb.save(Workbook_B) Workbook_A可以是xlsx文件,但是我必须将其保存为xls文件Workbook_B.xls 。 否则,文件变得腐败,无法打开。 有没有办法来解决这个问题? 我可以在xlsx使用xlutils ,还是不是与Excel格式兼容的模块? 是openpyxl的解决scheme? 我不是第一个遇到这个问题 ,但我找不到解决办法。

使用pandas(Python)将整个列的文本换行

我想用pandas来包装一整列。 我已经设置了列的宽度,现在我只需要包装整个列,因为它们都在1行。 我用各种不同的答案进行search并不是直截了当的。 我不需要编辑列的宽度,我只是想将单元格中的文本包装成与我一样点击“包装文本”来突出显示列的单元格。 但我想用python脚本来做,所以我想用pandas来实现。 所以基本上这个以前和这个样子看起来是一样的 。 但是我想通过pandas做到这一点,而不是通过点击包装文本手动。 而我想把这个换行应用到整个列中,而不仅仅是一个单元格。

在pandas中更改dataframe的堆栈

我有一个像这样的数据框。 Name 2012 2013 2014 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 A abcdefgabcdefghijklma bcdefghijklm B abcdefgabcdefghijklma bcdefghijklm 等等。 2012年,2013年,2014年代表年份和低于它们各自的月份,而a,b,c,d,e …代表NAME的价值,即A,B ..在相应的月份。 a,b,c,d,e …对于每个名称都是不同的,并且在这里仅用于表示目的。 目前,我做了以下工作: workbook = pd.ExcelFile('XYZ.xlsx') df = workbook.parse(sheetname='Page1-2') df2 […]

使用python:openpyxl或任何其他库来读取excel表格中单元格的颜色

好的,这里是我需要帮助,我有一个Excel表,我已经使用了图案填充,可以在下面的图片中看到。 所以我想要在python脚本中做的基本上是读取每一行,以检查单元格是否有模式填充,如果它确实使用在这些特定的单元格中find的值做一些事情。 我已经设法做了第一部分是用openpyxl来读取excel表格。 我到目前为止所做的代码示例是这样的。 我只需要填写step3:if()部分,如果我需要导入另一个库是好的只是让我知道我需要做的:) from openpyxl import load_workbook #Step 3: Use this function to read the colours and do something def postDialog(A, B, C, D, E, F, G, H, I, J, K, L): if (A == redcolorfill): #HERE How to read pattern fill color of cell #Step 1: Execute open excel workbook ACTION1_File = […]

如何在Python3中压缩两个相同长度的列表,其中第一个具有“无”值?

我遍历Excel表和加载数据到数据框。 这个想法是为当前工作表创build临时数据框,并将其追加到最终的数据框中,在每次迭代之后收集所有数据(包含几张工作表的几个excel文件)。 问题是那些excel工作表的数据行超过100列宽,部分列有多索引(如month> days range),合并单元格中索引较大。 我取消合并的单元格,合并的单元格我正向填充它合并时的值,并且将两个索引级别的值读入两个单独的列表:header_lv1和header_lv2 列表的长度是相同的,但是在索引的顶层创build的索引在excel中只有一个级别的地方有一些“无”的值。 我想用“lv1 – lv2”值将这些列表压缩到一个列表中,以最后一个dataframe列的索引。 现在我有: header_lv1 = [ws.cell(row=2, column=i).value for i in range(1, sumaInCol + 1)] # read first level of indexes to list header_lv1.extend(['Typ', 'Typ']) # add two more columns header_collection.append(header_lv1) # collect header of each opened sheet for comparison header_lv2 = [ws.cell(row=3, column=i).value for i in range(1, […]

写入特定范围/pandas列

我正在尝试从工作簿1的范围AP:AR复制到工作簿2的范围A:C到Pandas数据框。 我已经成功读取了下面的工作簿1中的数据框,然后将其写入指定范围的工作簿2中。 所以AP:AR to AQ:AS. 我努力了: #df.to_excel(writer, 'AP') 我也尝试了以下几点: #df = pd.write_excel(filename, skiprows = 2, parse_cols = 'AP:AR') pd.writer = pd.ExcelWriter('output.xlsx', columns = 'AP:AR') pd.writer.save() 例如: filename ='C:/ workbook 1.xlsx' df = pd.read_excel(filename, skiprows = 2, parse_cols = 'A:C') import pandas as pd writer = pd.ExcelWriter('C:/DRAX/ workbook 2.xlsx') df.to_excel(writer, 'AQ') writer.save() print(df) 它读取正确,但写入单元格列'B',而不是AQ。

从python运行excelmacros

我正在使用以下代码从Python运行Excelmacros: import pymysql import datetime import csv import math import os import glob import sys import win32com.client import numpy from tkinter import * from tkinter import ttk import tkinter.messagebox def run_macro(): print('macro') #this if is here because if an executable is created, __file__ doesn't work if getattr(sys, 'frozen', False): name = (os.path.dirname(sys.executable) + '\\Forecast template.xlsm') […]

pandas:始终selectExcel工作表中的第一个工作表/选项卡

我知道如何获得表名单。 我正在使用的Excel文件有多个工作表。 我如何顺序select第一个? 我不知道表的名字,但我需要select第一个。 我将如何去做这件事?

在添加对值的引用之后,openpyxl LineChart显示为空

我有以下代码在Excel中使用openpyxl创build折线图。 问题是生成Excel文件时,图表容器被添加到工作表,但它是空的,没有图表显示。 我检查了参考对象,看起来很好。 任何想法是什么可能造成这个? c1 = LineChart() c1.title = "Line Chart" c1.style = 10 c1.y_axis.title = 'Utilization' c1.x_axis.title = 'Month' data = Reference(worksheet, min_col = 2, min_row = 2, max_col = 2, max_row = 10) print(data) #this prints Sheet 1!$B$2:$B$10 c1.add_data(data) worksheet.add_chart(c1, "E2")