Tag: python

从列号中获取Excel样式的列名称

这是在提供行和列ID时提供COLUMN名称的代码,但是当我给出像row = 1 and col = 104这样的值时,它应该返回CZ ,但是它返回D@ row = 1 col = 104 div = col column_label = str() while div: (div, mod) = divmod(div, 26) column_label = chr(mod + 64) + column_label print column_label 我在做什么错? (这个代码是EXCEL列的参考,其中我提供行,列ID值,并期望ALPHABETIC值相同。)

使用Python将macros注入电子表格

我有一个macros,我想要一堆现有的电子表格使用。 唯一的问题是有太多的电子表格,手工操作太耗时了! 我写了一个Python脚本来使用pyWin32来访问所需的文件,但我似乎无法find一种方法来使用它来添加macros。 一个类似的问题给了这个答案(这不是Python,但它看起来仍然使用COM),但我的COM对象似乎并没有一个名为VBProject的成员: Set objExcel = CreateObject("Excel.Application") objExcel.Visible = True objExcel.DisplayAlerts = False Set objWorkbook = objExcel.Workbooks.Open("C:\scripts\test.xls") Set xlmodule = objworkbook.VBProject.VBComponents.Add(1) strCode = _ "sub test()" & vbCr & _ " msgbox ""Inside the macro"" " & vbCr & _ "end sub" xlmodule.CodeModule.AddFromString strCode objWorkbook.SaveAs "c:\scripts\test.xls" objExcel.Quit 编辑:链接到类似的问题引用: 注入并执行Excel VBA代码到从外部来源收到的电子表格 我也忘记提到,虽然这不是Python,但我希望类似的对象成员将通过COM对象提供给我。

pandas可以阅读和修改一个Excel文件工作表(选项卡),而无需修改文件的其余部分?

许多电子表格都有公式和格式,用于读取和写入Excel文件的Python工具不能忠实地重现。 这意味着我想要以编程方式创build的任何文件都必须是我从头开始创build的,然后其他Excel文件(具有上述复杂性)必须引用该文件(这会创build各种其他依赖项问题)。 我对Excel文件“选项卡”的理解是,它们实际上只是XML文件的集合。 那么,是否有可能使用pandas(或基本的读/写引擎之一,如xlsxwriter或openpyxl修改只是其中一个标签,其他标签(有更多邪恶的东西在那里)完好? 编辑:我会尝试进一步阐明一个例子的问题。 Excel工作表test.xlsx有四个选项卡(即工作表):Sheet1,Sheet2,Sheet3,Sheet4 我使用pandas.read_excel()将Sheet3读入DataFrame(我们称之为df) Sheet1和Sheet2包含公式,graphics以及各种格式,而且openpyxl和xlrd都不能成功parsing,而Sheet4包含其他数据。 我根本不想触摸这些标签。 Sheet2实际上有一些对Sheet3单元格的引用 我对df进行了一些编辑,现在想把它写回到sheet3中,而不改变其他工作表(以及工作簿中其他工作表的引用) 我可以这样做,如果是这样,怎么办?

Django:openpyxl将工作簿保存为附件

嗨,我有一个快速的问题。 我在网上找不到答案,也许有人可以帮助我。 所以我想保存工作簿作为附件,但我不知道如何让看到一个例子: from openpyxl import Workbook from openpyxl.cell import get_column_letter wb = Workbook(encoding='utf-8') dest_filename = 'file.xlsx' ws = wb.worksheets[0] ws.title = "range names" for col_idx in xrange(1, 40): col = get_column_letter(col_idx) for row in xrange(1, 600): ws.cell('%s%s'%(col, row)).value = '%s%s' % (col, row) ws = wb.create_sheet() ws.title = 'Pi' ws.cell('F5').value = 3.14 然后我试着: response […]

XLRD / Python:使用for-loops将Excel文件读入dict

我正在阅读一个有15个字段和约2000行的Excel工作簿,并将每行转换为Python中的字典。 然后我想把每个字典追加到列表中。 我希望工作簿的首行中的每个字段都是每个字典中的一个键,并将相应的单元格值设置为字典中的值。 我已经看过这里和这里的例子,但是我想要做一些有点不同的事情。 第二个例子将工作,但我觉得这将是更有效的循环顶部行填充字典键,然后遍历每行获取值。 我的Excel文件包含来自论坛的数据,看起来像这样(显然有更多的列): id thread_id forum_id post_time votes post_text 4 100 3 1377000566 1 'here is some text' 5 100 4 1289003444 0 'even more text here' 所以,我想字段id , thread_id等是字典键。 我希望我的字典看起来像: {id: 4, thread_id: 100, forum_id: 3, post_time: 1377000566, votes: 1, post_text: 'here is some text'} 最初,我有这样的代码遍历文件,但我的范围是错误的一些for循环,我生成太多字典的方式。 这是我的初始代码: import xlrd from xlrd […]

python XlsxWriter围绕多个单元格设置边框

我需要一个简单的方法来设置多个单元格的边框,如下所示: 我发现的只有一个单元格的边界,并且合并单元格,这不是我所需要的。 我期待着像这样的东西: worksheet.range_border(first_row, first_col, last_row, last_col) 有没有一种方法可以做到这一点(不涉及为每个单元格单独设置top_border,bottom_border,left_border,right_border)?

如何将xls转换为xlsx

我有一些* .xls(excel 2003)文件,我想将这些文件转换为xlsx(excel 2007)。 我使用uno python包,当我保存文件时,我可以设置filter名称:MS Excel 97但是没有像“MS Excel 2007”这样的filter名称, 请帮助我,如何设置filter的名称来将xls转换为xlsx?

Csv空行问题与Excel

我有一个csv文件,其中包含sqlite3数据库的行。 我使用python将行写入到csv文件中。 当我用Ms Excel打开csv文件时,每行下面都会出现一个空行,但记事本上的文件没有问题(没有任何空格)。 有谁知道这是为什么发生,我怎么能解决它? 编辑:我用strip()函数的所有属性之前写一行。 谢谢。

如何在Python中使用xlsxwriter将数据写入/更新到现有XLSX工作簿的单元中

我能够使用写入新的xlsx工作簿 import xlsxwriter def write_column(csvlist): workbook = xlsxwriter.Workbook("filename.xlsx",{'strings_to_numbers': True}) worksheet = workbook.add_worksheet() row = 0 col = 0 for i in csvlist: worksheet.write(col,row, i) col += 1 workbook.close() 但找不到在现有工作簿中写入的方式。 请帮助我使用xlswriter或其他替代方法在现有工作簿中编写/更新单元格。

pandasxlsxwriter,格式标题

我使用xlsxwriter将pandas DataFrame保存为_excel。 我设法格式化所有的数据(设置列宽,字体大小等),除了改变标题的字体,我找不到方法来做到这一点。 这是我的例子: import pandas as pd data = pd.DataFrame({'test_data': [1,2,3,4,5]}) writer = pd.ExcelWriter('test.xlsx', engine='xlsxwriter') data.to_excel(writer, sheet_name='test', index=False) workbook = writer.book worksheet = writer.sheets['test'] font_fmt = workbook.add_format({'font_name': 'Arial', 'font_size': 10}) header_fmt = workbook.add_format({'font_name': 'Arial', 'font_size': 10, 'bold': True}) worksheet.set_column('A:A', None, font_fmt) worksheet.set_row(0, None, header_fmt) writer.save() 尝试设置标题格式的倒数第二行不做任何事情。