Tag: xlsxwriter

使用python输出到xlsxwriter中超过26列

我有一个代码生成一个任意长度的列表,并将其输出到Excel电子表格。 然后用以下代码对每个列进行总计: for i in range(years): average = "=AVERAGE(" average += chr(65+i) average += "1:" average += chr(65+i) average += str(x) average += ")" worksheet.write(x, i, average) 理论上这输出“= AVERAGE(A1:Ax)”,其中x是电子表格的最后一行。 我只希望能够处理大于26的宽度,即如果年数大于26,则代替chr(65 + i),代码可以例如说“=平均(AA1:AAx)”。 谢谢

如何使用filter的“从A到Z”sortingXlsxWriter中的表格?

最近,我发现了Python的XlsxWriter(我喜欢它!),并开始制作一些电子表格。 我需要以编程方式创build一个电子表格,与其他人手动创build的电子表格相同。 除了在autofilter中sorting表格之外,我设法创build了我所需要的所有东西。 基本上,我想创build这样的东西: 我无法弄清楚如何。 我查了文档( 1,2 ),没有find任何关于sorting的信息。 我现在所做的是: worksheet.autofilter(1, 0, known_lenght, known_width) 导致自动筛选箭头出现在标题单元格的右下angular,但worksheet.autofilter()似乎缺乏sortingfunction。 我是否错过了一些东西,或者没有select创build自动筛选器并在XlsxWriter中设置sorting? 谢谢!

在使用csv数据时,Python-xlsxwriter只能以文本forms写入

我想用python的xlsxwriter包创build一个excel文件。 目前我已经完成了所有的格式化,现在我需要做的是导入正确的数据。 为此,我使用csv包来读取一个csv / txt文件。 但是,当我从csv中读取数据并将其输出到xlsx文件时,所有的数字/​​date/ etc都被作为文本进行了处理。 我相信这是因为当我读取每个数据点中的文件是由单引号括起来(例如:'00082424')。 这导致Excel读取它作为文本(它甚至会抛出一个小小的错误说,它看起来像一个数字前面有一个'),结果保持前导零。 我怎样才能从csv中读取我的数据,并使用xlsxwriter将其导出,以便所有内容都不会以“?”开头。 以下是我用于读入和输出的代码的删节版本: import csv import xlsxwriter """ Create a workbook and add worksheets """ workbook = xlsxwriter.Workbook('Test.xlsx') worksheet1 = workbook.add_worksheet('Raw Data') """ Read csv file """ with open("filename.txt") as filein: reader = csv.reader(filein, skipinitialspace = True) ind, c, d, e, f, g, h, i, j, k, […]

使用xlsxwriter从临时文件失败打开excel输出

我正在用xlsxwriter创build一个xlsx输出到一个临时文件,使用tempfile模块,我将这个临时文件的path存储在一个variables中,我稍后在另一个脚本中使用它来打开它。 问题是,有时打开文件失败,错误: "[Errno 2] No such file or directory: '/tmp/xls5TnVsx'" 对不起,我没有一个确切的想法发生这个问题的频率,但它似乎不时发生,所以我不明白为什么… 这是我如何保存到一个临时文件: f = tempfile.NamedTemporaryFile(prefix="xls",delete=False) xlsfilename = f.name 然后创buildxlsx输出: wb = xlsxwriter.Workbook(filename) ws = wb.add_worksheet(sheetName) # Write header …. # Write data for row, row_data in enumerate(data, start=1): for column, key in enumerate(headers): …. wb.close() f.close() 然后在Python CGI脚本中,我使用variablesxlsxfilename,这是脚本的path来打开它: print "Content-type: application/msexcel" print "Content-Disposition: attachment; filename="+xlsfilename […]

写OrderdDict到Excel文件

我有一个大约144个keysd的ordereddict。我需要把这个按照相同的顺序写到一个excel文件中,也就是说第一个键应该在第一列,第二列在第二列,等等。 csv_items = [('A', '08129'), ('B', '0'), ('C', '8'), ('D', '0'), ('E', '81'), ('F', '0'), ('E', '12'), ('G', '0'), ('H', '0'), ('I', '23'), ('L', '0'), ('K', '0')] 我使用python Xlsxwriter写入excel文件,以下是用于此的代码。 wb = xlsxwriter.Workbook("sample.xlsx") ws = wb.add_worksheet("Log Sheet") first_row = 0 row = 1 for player in csv_items: for _key, _value in player.items(): print row, player.items() col […]

如何在xlsxwriter中将列设置为DATE格式

我正在编写一个项目,在这个项目中,我写了一个xlsx电子表格,并且需要格式化“Date”的一列。 我得到的程序运行,除列的格式仍然设置为'一般'。 用不同的代码以不同的方式尝试这个,看看是否有人回答: for row in cur.execute('''SELECT `Mapline`,`Plant`,`Date`,`Action` from AEReport'''): lengthOfHeadings = len(row) output = '%s-%s.xlsx' % ("AEReport",now.strftime("%m%d%Y-%H%M")) workbook = xlsxwriter.Workbook(output, {'strings_to_numbers':True}) worksheet = workbook.add_worksheet() format=workbook.add_format({'font_size':'8','border':True}) format2=workbook.add_format({'font_size':'8','border':True,'num_format':'mm/dd/yy hh:mm'}) count = 0 for name in range(0,lengthOfHeadings): if name==row[2]: name=int(name) worksheet.write(counter, count, row[name],format2) else: worksheet.write(counter, count, row[name],format) count += 1 counter += 1 Slihthinden

使用XlsxWriter在python 3.5中创build图表,其中系列值基于循环

我正在使用Windows 10上的Python 3.5。希望我可以阐明我正在尝试完成,同时允许尽可能less的混淆… 我已经编写了一个Python脚本来执行几个任务,其中一些任务包括通过XlsxWriter基于脚本前面部分代码生成的数据创build一个Excel工作簿。 我试图让我的脚本也创build一个图表,再次使用基于这些数据的XlsxWriter。 我在网上看到了几个例子,虽然有用,但是这些例子和我自己的个人代码之间有一个特定的区别,这让我不确定如何继续。 尝试将一系列图表添加到图表时,出现了我的问题。 当configuration一个系列时,我遇到的几个例子包括这样的东西(注意:我实际上并没有使用这个确切的代码): chart.add_series({ 'name': '=Sheet1!$A$2:$A$7 ' }) 由于我的脚本涉及循环和可变长度的性质,所产生的数据可以填充到各个列和行中,所以我不能指定像“名称”这样的固定引用,例如“Sheet1!$ A $ 2:$ A 7美元“,因为虽然从我的脚本生成的所有数据将存在于同一张纸上,但它永远不会始终只在列”A“中,并且只在单元格2到7之间。 那么,我怎样才能解决这个问题呢? 同样,由于variables项等,我告诉XlsxWriter填充单元格的方式是创buildvariablesrow_1 = 0和col_1 = 0 ,并根据需要递增它们。 我可以写一些类似的东西 chart.add_series({ 'name': '=Sheet1!row:col+7' }) 通过XlsxWriter? 编辑 :所以我只是发现我可以使用替代索引似乎是我的解决方法添加到图表的一个系列。 但是,我收到以下错误消息: UserWarning: Must specify 'values' in add_series() warn("Must specify 'values' in add_series()") 基于这一点的代码: chart.add_series({ 'Subscribers': ['Sheet1', row_1 + 2, col_1, 2 […]

xlsxwriter:text_wrap()不起作用

我正在创build和格式化Excel文件,并希望将文本包装在列中。 我在xlsxwriter中find了text_wrap()的方法,但是当我使用这个方法的时候,它不适合我。 我尝试了一切,但失败了。 我正在做我的脚本。 用pandas读csv 创build和保存数据框到Excel文件中 应用文字换行。 脚本 text_format = workbook.add_format({'text_wrap': True}) worksheet.conditional_format('A1:W{}'.format(len(df)), {'type': 'no_errors', 'format': text_format}) 任何帮助将不胜感激。 谢谢

在Excel中添加行xlswriter

我创build了一个xls文件,在其中我写入一些用户input到单元格中。 程序到目前为止好,程序工作; 它写第一行。 但是当我再次运行该程序而不是附加在第一个上面写入的行时。 我试图了解如何使它追加一个新的行到Excel表保存并closures它等 import xlsxwriter workbook = xlsxwriter.Workbook("test.xlsx",) worksheet = workbook.add_worksheet() row = 0 col = 0 worksheet.write(row, col, 'odhgos') worksheet.write(row, col + 1, 'e/p') worksheet.write(row, col + 2, 'dromologio') worksheet.write(row, col + 3, 'ora') row += 1 worksheet.write_string(row, col, odigosou) worksheet.write_string(row, col + 1, dromou) worksheet.write_string(row, col + 2, dromologio) worksheet.write_string(row, col […]

pandas + xlsx:根据另一个dataframe格式化单元格

我有一个数据框的数据透视表: pv=testdata.pivot(index='dose',columns='el_num',values='value').reindex(index=doseann) el_num 1 2 3 4 5 6 7 8 9 10 11 dose 100.0 7.07460 6.37422 19.8883 18.6835 16.5359 59.8294 28.5587 14.18910 39.5265 4.33896 38.0297 11931.0 6.41105 8.27059 19.0014 18.6988 16.4000 59.1123 29.4836 13.25030 36.2842 5.89428 37.9752 25079.0 6.82894 8.11478 19.8956 18.8933 15.8732 58.6548 29.8440 13.25930 36.7238 7.37476 39.1368 49640.0 7.20882 8.17981 19.3958 […]