Tag: openpyxl

将Excel或CSV文件转换为Python中的电子邮件地址列表

我有一些Python的经验,但我不是一个专家,所以在这里我很容易。 我有一个Python脚本,可以自动发送电子邮件报告给全天的人们。 现在,电子邮件地址都存储在脚本本身,但我希望将电子邮件地址存储在外部文件,其他人可以编辑谁收到他们,而不必打开脚本本身。 脚本中有不同的电子邮件列表,我正在努力弄清楚如何将其转换为文件。 因此,例如,这些可能是三个电子邮件列表,因为它们将被存储在Python中: Group_A = ['ABC@yahoo.com', 'def@gmail.com'] Group_B = ['xyz@yahoo.com', tuv@gmail.com'] Group_C = ['hij@yahoo.com', klm@gmail.com'] 我如何将它们存储在外部文件中并让Python将它们作为单独的列表读取? 我很好地使用Excel(通过Openpyxl或Pandas读取)或CSV甚至txt文档,但是让Python读取文件并将电子邮件地址存储在自己的列表中的最佳方式是什么? 列表的名字也需要在文件中设置,因为每个列表都会根据它的名字得到一个单独的电子邮件。

打字时使用zip

我想从几个xlsx文件添加特定的行到我的Python脚本列表。 我试图添加的行是列号4(E列)的单元格值减去列号1(B列)的单元格值不等于0.我的xlsx文件如下所示: ABCDEFGH 1 A10 2 A10 2 AB 2 A105 1 A105 2 AB 所以对于下面的代码,我希望第二行被添加到打开的列表数字,因为2-1的总和不是0.然后我想通过将它们添加到列列表,然后将它们放入一个新的列表,mainlist,一切sorting。 这是我的代码: import logging import pandas as pd from openpyxl import Workbook, load_workbook import glob from openpyxl.utils.dataframe import dataframe_to_rows numbers = [] rapp = r"C:\Myfolder" files = glob.glob(rapp) for file in files: df = pd.read_excel(file) numbers = df.iloc[:, 4], df.iloc[:,1][df.iloc[:, […]

openpyxl:数据validation读/写没有处理

我有一个Excel的xlsx文件,我想用python脚本编辑。 我知道openpyxl不能处理数据validation,但我只想编辑一些包含数据validation的单元格的值,然后保存工作簿而不编辑这些数据validation。 现在,当我试图做到这一点,我得到一个错误: UserWarning:数据validation扩展不受支持,将被删除 然后我保存的文件不包含数据validation。 有没有办法告诉openpyxl不保存工作簿时不删除数据validation,即使它不能读取它?

Excel删除由Python插入的有效公式

我正在尝试使用openpyxl在Python中生成一个excel xlsx报告,但是有一个问题。 Excel不断从我的工作表中删除几个特定单元格中的公式 。 我打印什么插入,它似乎绝对有效,如果我从控制台粘贴到单元格它显示确切的结果。 我甚至试图插入公式没有领先的'=',它这样做,当我打开它在Excel中,并添加“=”它的工作。 这是给定的公式,只是匹配行中某些其他值的条件上的单元格的总和: = SUMIF($ C $ 27:$ C $ 243; A249; $ I $ 27:$ I $ 243), 打开工作簿的错误如下所示: 当我没有插入任何特定的单元格时,所有打开的都是平滑的,没有任何警告。 当我手动插入它,但是, Excel显示警告说公式的单元格不受保护。 不知道这是否应该是一个问题。 我无法把头围住。 Excel错误日志与以往一样有用。

在Excel工作表的开头插入一个标题

row = 5 column = 0 writer = pd.ExcelWriter(file_name, engine='openpyxl') response = send_request('2017-2018-regular', item).content df = pd.read_csv(io.StringIO(response.decode('utf-8'))) df.to_excel(writer, sheets, startrow=row, startcol=column, index=False) 我想把一个简单的标题放在我的Excel表格的顶部,考虑到我正在使用pandas和openpyxl 。 我怎么能做这样的事情? 我希望标题可以显示在工作表的顶部( startrow=0 , startcol=0 )。 请给我一个例子如何使用它。 我知道这个问题写数据框擅长标题是相关的,但我不能用它的引擎是不同的简单原因。 我使用的是openpyxl lib,他们在回答中使用了xlsxwriter lib。 什么是write_string的等价物,但与pandas ?

无法写入Excel中AttributeError:“工作表”对象没有属性“写”

我正在尝试写一个文本到一个excel我正在关注这个post 。 这是早些时候工作,但现在不是。 我得到: 错误: line 122, in <module> worksheet.write(0, 11, 'HI') AttributeError: 'Worksheet' object has no attribute 'write' DF1 AE cd c D 码: writer = pd.ExcelWriter("C:\\33.xlsx") df1.to_excel(writer, startrow=0, startcol=0, index = False) worksheet = writer.sheets['Sheet1'] worksheet.write(0, 11, 'YO') worksheet.write(1, 11, 'HI') 我也试过了: import xlrd import xlwt from xlutils.copy import copy import os.path rb […]

Openpyxl – 我可以使用Openpyxl创build一个水平条形图吗?

我可以用下面的代码创build垂直条形图: from openpyxl import Workbook wb = Workbook() ws = wb.active for i in range(10): ws.append([i]) from openpyxl.charts import BarChart, Reference, Series values = Reference(ws, (1, 1), (10, 1)) series = Series(values, title="First series of values") chart = BarChart() chart.append(series) ws.add_chart(chart) wb.save("SampleChart.xlsx") 我可以使用openpyxl创build垂直条形图吗? 并导出相同的图像forms?

在openpyxl中用富文本编辑工作簿

我想知道如果openpyxl可以读取和/或写入丰富的文本到Excel中。 我知道这个问题在2012年之前曾被问过一次,但是我不确定这是否改变了。 就像load_workbook()一样,它似乎丢掉了丰富的文本格式。 至于具体的问题,我需要打开,编辑和保存工作簿,其中一些单元格在一个单元格中同时具有上标和普通文本。 当我保存工作簿时,单元格的第一个字符的格式应用于单元格的其余部分。 这是2012年的问题: 如何在Excel文档单元格中find文本子集的格式 环顾四周后,似乎丰富的文本在openpyxl中实现(基于openpyxl的bitbucket上的问题列表): https://bitbucket.org/openpyxl/openpyxl/issues?q=rich+text 但是我还不清楚如何使用它(如果我正确地解释了问题列表)。 如果它有帮助,我实际上不会编辑这些单元格的内容,只是它们不会在保存时丢失格式。 任何想法将不胜感激。 谢谢! 最好

Openpyxl删除单元格

我想select列表的最后20项复制一个新的电子表格,一旦复制,我想从第一个电子表格中delete它们。 我有第一部分去(复制最后20),但我不知道如何delete该单元格,所以它不会显示为none后,我保存它。 过滤= [ – 20:]我如何从电子表格中删除这20个单元格? def cell_values(somesheet): # extract the last 20 items from the worksheet filtered = [x for x in somesheet.rows if x is not None] last20 = filtered[-20:] extracted_values = [] for row in last20: for cell in row: # print cell.value extracted_values.append(cell.value) 问题是, filtered = [x for x in sheet.rows […]

使用openpyxl。 列出一个列表

我正在与一个大的Excel文件。 我在用 wb = load_workbook(filename='my_file.xlsx') ws = wb['Sheet1'] 我不想以任何方式改变工作表。 我只是想从多个栏目中获取数据并与他们合作。 我的理解是,我不能只调用一个列,并使用.tolist()因为所有的值都存储在Excel中。