Tag: python

在Excel中调整单元格宽度

我正在使用xlsxwriter写入Excel工作表。 我面临的问题是:当文本多于单元格大小时,它就隐藏起来了。 import xlsxwriter workbook = xlsxwriter.Workbook("file.xlsx") worksheet1 = workbook.add_worksheet() worksheet1.write(1, 1,"long text hidden test-1" ) worksheet1.write(2, 1,"long text hidden test-2") worksheet1.write(3, 1,"short-1") worksheet1.write(4, 1,"short-2") worksheet1.write(1, 2,"Hello world" ) worksheet1.write(2, 2,"Hello world") worksheet1.write(3, 2,"Hello world") worksheet1.write(4, 2,"Hello world") workbook.close() 我正在得到什么 我期待与调整宽度

错误:不支持的格式或损坏的文件:期望的BOFlogging

我想打开一个xlsx文件,只是打印它的内容。 我一直遇到这个错误: import xlrd book = xlrd.open_workbook("file.xlsx") print "The number of worksheets is", book.nsheets print "Worksheet name(s):", book.sheet_names() print sh = book.sheet_by_index(0) print sh.name, sh.nrows, sh.ncols print print "Cell D30 is", sh.cell_value(rowx=29, colx=3) print for rx in range(5): print sh.row(rx) print 它打印出这个错误 raise XLRDError('Unsupported format, or corrupt file: ' + msg) xlrd.biffh.XLRDError: Unsupported format, or […]

将Excel或电子表格列的字母转换为Pythonic的数字

有没有更好的pythonic方式转换excel样式的列到数字(从1开始)? 工作代码最多两个字母: def column_to_number(c): """Return number corresponding to excel-style column.""" number=-25 for l in c: if not l in string.ascii_letters: return False number+=ord(l.upper())-64+25 return number 代码运行: >>> column_to_number('2') False >>> column_to_number('A') 1 >>> column_to_number('AB') 28 三个字母不工作。 >>> column_to_number('ABA') 54 >>> column_to_number('AAB') 54 参考: 在C#中回答的问题

以编程方式从Excel电子表格中提取数据

有没有一种简单的方法,使用一些常用的Unix脚本语言(Perl / Python / Ruby)或命令行工具,将Excel电子表格文件转换为CSV? 具体来说,这一个: http://www.econ.yale.edu/~shiller/data/ie_data.xls 特别是电子表格的第三张(前两张是图表)。

按相似性对行和列进行sorting的algorithm

我遇到了一个电子表格 ,它解释了对包含二进制数据的matrix的行和列进行sorting的方法,以便连续行和列之间的变化数量被最小化。 例如,从以下开始: 在经过扩展的标签中描述的15个手动步骤之后,获得下面的表格: 我想知道: 这个algorithm或方法的通用名称是什么? 如何将它应用到更大的表格(其中2 ^ n会溢出…) 如何将其推广到非二进制数据,例如使用Levenshtein距离? 如果有任何代码的链接(Excel VBA,Python,…)已经实现这个(否则我会写它…) 谢谢 !

Python的Excel(xlrd,xlwt) – 如何从一个单元格复制一个样式,并把它放在另一个

具体来说,我试图打开一个现有的工作簿,并写入一些数据。 但是,无论何时写入数据,都会抹掉这些单元格上的边界。 所以我想知道是否有方法复制该单元格的样式,然后再写入它,然后重新应用它。 我想我可能会在这段代码的正确轨道上? from xlrd import open_workbook from xlwt import easyxf from xlutils.copy import copy from xlutils.styles import Styles rb=open_workbook('source.xls',formatting_info=True) styles = Styles(rb) rs=rb.sheet_by_index(0) wb=copy(rb) ws=wb.get_sheet(0) for i,cell in enumerate(rs.col(2)): if not i: continue cell_style = styles[rs.cell(i,2)] ws.write(i,2,cell.value,cell_style) wb.save('output.xls') 但是我得到这个错误: AttributeError: NamedStyle instance has no attribute 'font'

将Unicodestring写入Excel 2007

我正在使用pyodbc连接到MS SQL服务器。 此外,我正在尝试使用openpyxl写入Excel 2007/10 .xlsx文件。 这是我的代码(Python 2.7): import pyodbc from openpyxl import Workbook cnxn = pyodbc.connect(host = 'xxx',database='yyy',user='zzz',password='ppp') cursor = cnxn.cursor() sql = "SELECT TOP 10 [customer clientcode] AS Customer, \ [customer dchl] AS DChl, \ [customer name] AS Name, \ … [name3] AS [name 3] \ FROM mydb \ WHERE [customer dchl] = '03' […]

使用xlsxwriter写入时设置货币符号

我在使用xlsxwriter编写货币符号时遇到了麻烦, 我在这里跟着教程,我能够用正确的格式和一个美元符号(不pipe这是来自教程还是Excel的默认设置,我不确定)写出货币值。 这工作: money = workbook.add_format({'num_format':'$#,##0.00'}) 并用美元符号打印货币值。 $1,000.00 但是,如果我尝试插入我自己的货币,让我们说R : money = workbook.add_format({'num_format':'R#,##0.00'}) 我得到这个: R1000 如何使用xlsxwriter设置货币符号?

XLRDError:期望的BOFlogging; 发现0x4b50

我不认为这些代码有什么问题。 你可以帮我吗? 我需要帮助。 谢谢! from xlrd import open_workbook wb = open_workbook('/pdf-ex/exc.xlsx','rb') for s in wb.sheets(): print 'Sheet:',s.name for row in range(s.nrows): values=[] for col in range(s.ncols): values.append(s.cell(row,col).value) print ",".join(values) print

在django中将openpyxl工作簿对象返回为HttpResponse。 可能吗?

我需要从django的数据库提供一个excel格式的数据给访问者。 我能想到的唯一方法就是这些步骤: 从数据库中提取数据。 用来自openpyxl Workbook对象包装它。 暂时保存在某个地方。 再读一遍“rb”。 用excel的mimetypes返回视图。 删除磁盘上的excel文件。 (现在没用了吧?) 这应该做到这一点。 但是,我认为还有另一种更好的方法来做到这一点。 我的意思是也许有一种方法可以直接返回openpyxl对象作为HttpResponse没有中间文件中。 所以,我的问题是:是否有可能返回openpyxl的Worbook对象? (我是新的openpyxl )