Tag: xlsxwriter

在Excel中使用Python的xlsxwriterstring条件格式“等于”

我有相对较大的Excel电子表格,我正在应用条件格式。 但是,单元格的内容相对较短(最多3个字母)。 所以,我需要匹配一个string。 例如:'A'应该被格式化,但不包含'A'('ABC','BCA','BAC'等)。 我尝试了使用“文本”和“单元格”选项的不同选项,但是我失败了。 这是我的testing案例: import xlsxwriter workbook = xlsxwriter.Workbook('conditional_format4.xlsx') worksheet1 = workbook.add_worksheet() format1 = workbook.add_format({'bg_color': '#FFC7CE', 'font_color': '#9C0006'}) data = [ ['ABC', 'BCA', 38, 30, 75, 48, 75, 66, 84, 86], [6, 24, 1, 84, 54, 62, 60, 3, 26, 59], [28, 79, 97, 13, 85, 93, 93, 22, 5, 14], [27, 'BAC', […]

xlsxwriter没有将格式应用于数据框的标题行 – Python Pandas

我正在尝试使用xlsxwriter从数据框中获取一个数据框并创build一个电子表格 我正在试图做一些格式化到标题行,但似乎在该行上工作的唯一格式是行高。 完全相同的格式选项适用于数据框的其他行。 请参阅下面的代码.. 将红色(和高度)应用于除标题行(第2行)之外的所有行 – 将红色应用于第0行和第3行,但只将高度应用于第2行 任何帮助将非常感激 import numpy as np import pandas as pd from pandas.io.data import DataReader from pandas import DataFrame from IPython import display import xlsxwriter WorkBookName="test.xlsx" df3=pd.read_csv("https://raw.githubusercontent.com/wesm/pydata-book/master/ch08/tips.csv", sep=',') writer = pd.ExcelWriter(WorkBookName, engine='xlsxwriter') df3.to_excel(writer, sheet_name="sheet",index=False,startrow=2) workbook = writer.book worksheet = writer.sheets["sheet"] worksheet.write(0,0,"text string") worksheet.write(0,1,"text string") worksheet.write(0,2,"text string") worksheet.write(0,3,"text string") color_format = […]

在pandas和pandaslocking之外的Xlsxwriter

我正在使用xlsxwriter引擎将某些数据框与pandas.to_excel()一起推送到Excel表格中,但是我需要在每个表格上方标题。 以下是我希望达到的结果的一个例子: 我没有看到任何方式使用pandas的ExcelWriter对象来简单地操作每个单元格的内容,当我尝试这样做时,我得到: 例外:已忽略大小写的“样本”,已被使用。 我猜xlsxwriter自己locking它。 这里是一个例子: xlsx_writer = pd.ExcelWriter( get_target_filepath(xlsx_name), engine='xlsxwriter' ) workbook = xlsx_writer.book worksheet = workbook.add_worksheet(sheet_name) worksheet.write(1, 1, 'ABC') _, sample_table = dataframe_tuples[0] sample_table.to_excel(xlsx_writer, startrow=3, startcol=2, sheet_name=sheet_name) 我可以使用openpyxl保存dataframe并重新进行处理,但是我严重的不喜欢格式化的方式,接下来我要做的是,如果我使用xlsxwriter格式化,然后用openpyxl重新打开它,它不能正确地保存格式,openpyxl毁了它。 我不能把excel本身放到服务器上来使用VBAmacros进行样式devise。 有没有办法解决这个问题,或者我只是在做一些可怕的错误?

如何将字典转储到具有适当列alignment的.xlsx文件中?

我有一个包含2000个项目的字典,如下所示: d = {'10071353': (0, 0), '06030011': (6, 0), '06030016': (2, 10), …} 鉴于我想写入一个.xlsx文件,我使用这个代码(从这里取得 ): import xlsxwriter workbook = xlsxwriter.Workbook('myfile.xlsx') worksheet = workbook.add_worksheet() row = 0 col = 0 order=sorted(d.keys()) for key in order: row += 1 worksheet.write(row, col, key) for item in d[key]: worksheet.write(row, col + 1, item) row += 1 workbook.close() 这将生成一个.xlsx文件,具有以下alignment方式: AB […]

pandasExcel作家使用Openpyxl与现有的工作簿

我有一段时间的代码,我正在重新使用一个新的任务。 其任务是将新的DataFrame写入新的工作表,放入现有的Excel文件中。 但是有一部分代码我不明白,但是只是让代码“工作”。 加工: from openpyxl import load_workbook import pandas as pd file = r'YOUR_PATH_TO_EXCEL_HERE' df1 = pd.DataFrame({'Data': [10, 20, 30, 20, 15, 30, 45]}) book = load_workbook(file) writer = pd.ExcelWriter(file, engine='openpyxl') writer.book = book # <—————————- piece i do not understand df1.to_excel(writer, sheet_name='New', index=None) writer.save() writer.book=book小部分writer.book=book我难writer.book=book 。 如果没有这段代码,Excel文件将删除除df1.to_excel中的sheetname=参数中使用的工作表之外的所有其他工作表。 我看着xlsxwriter的文档以及openpyxl的 ,但似乎无法弄清楚为什么这一行给了我预期的输出。 有任何想法吗? 编辑:我相信这个职位是我从哪里得到了最初的想法。

python xlsxwriter,dynamic设置边框

我正在使用python的xlsxwriter包来格式化我通过mysql查询生成的excel报告。 问题是由sql生成的报告dynamic返回列,所以他们没有办法知道有多less列将被返回之前。 我试图设置边框只到返回的列数。 但到目前为止,我只能够硬编码列数(A:DC)。 任何人都可以帮助我,我正在使用以下查询 – worksheet = writer.sheets['Sheet1'] formater = workbook.add_format({'border':1}) worksheet.set_column('A:DC',15,formater) writer.save()

在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', […]

如何将Xlsxwriter文件保存在某个path中?

Xlsxwriter在哪里保存你创build的文件? 是否可以指定我想要保存excel文件的path? 我的XlsxWriter脚本在文件/ app / smth1 / smth2 /中,由于某种原因,它将excel文件保存到/ app /中。 它不应该保存在脚本所在的文件中吗? 或者我必须指定这样的path: workbook = xlsxwriter.Workbook(' /app/smth1/smth2/Expenses01.xlsx') Excel文件保存的默认文件是什么?

将pandas / matplotlib图像直接写入XLSX文件

我正在pandas / matplotlib中生成图表,并希望将它们写入XLSX文件。 我不想创build本机Excel图表; 我只是把这些情节写成非交互式的图像。 我正在使用XlsxWriter库/引擎 。 我find的最接近的解决scheme是这个SO问题的答案 ,build议使用XlsxWriter.write_image()方法。 但是,此方法似乎将文件名作为其input。 我试图以编程方式传递来自pandas / matplotlib plot()调用的直接输出,例如像这样的东西: h = results.resid.hist() worksheet.insert_image(row, 0, h) # doesn't work 或这个: s = df.plot(kind="scatter", x="some_x_variable", y="resid") worksheet.insert_image(row, 0, s) # doesn't work 有没有办法做到这一点,首先将图像写入磁盘文件的解决方法? 更新 下面的答案让我在正确的轨道上,并接受。 我需要做一些改变,主要是(我认为),因为我正在使用Python 3,也许一些API的变化。 这是解决scheme: from io import BytesIO import matplotlib.pyplot as plt imgdata = BytesIO() fig, ax = […]

可以改变xlsxwriter的工作表顺序?

我有一个脚本,按顺序创build了以下几对工作表: WorkSheet (holds data) -> ChartSheet using WorkSheet 脚本完成后,我剩下的工作表sorting如下: Data1, Chart1, Data2, Chart2, Data3, Chart3, … 是否有可能在脚本的末尾(即workbook.close()之前workbook.close()重新sorting工作表以获取最终的.xlsx文件中的以下工作表顺序? Chart1, Chart2, Chart3,…,ChartN, Data1, Data2, Data3,…