我无法找到使用xlwt写入现有文件的示例.我有一个我需要写的现有xls文件.当我使用xlrd读取文件时,我似乎无法弄清楚如何将返回的"Book"类型转换为xlwt.Workbook.如果有人可以给我一个例子,我将不胜感激.
我正在使用xlrd,xlutils.copy并xlwt打开模板文件,复制它,用新值填充它并保存.
但是,似乎没有任何简单的方法来保留单元格的格式; 它总是被吹走,并被设置为空白.有什么简单的方法可以做到这一点吗?
谢谢!/ YGA
示例脚本:
from xlrd import open_workbook
from xlutils.copy import copy
rb = open_workbook('output_template.xls',formatting_info=True)
rs = rb.sheet_by_index(0)
wb = copy(rb)
ws = wb.get_sheet(0)
for i,cell in enumerate(rs.col(8)):
if not i:
continue
ws.write(i,2,22,plain)
wb.save('output.xls')
Run Code Online (Sandbox Code Playgroud)
版本:
xlrd:0.7.1xlwt:0.7.2我正在尝试创建一个Excel工作簿,我可以在保存工作簿之前自动设置或自动调整列的宽度.
我一直在阅读的Python的Excel的教程中找到在xlwt是模仿xlrd者某些功能的希望(如sheet_names(),cellname(row, col),cell_type,cell_value,等...).例如,假设我有以下几点:
from xlwt import Workbook
wb = Workbook()
sh1 = wb.add_sheet('sheet1' , cell_overwrite_ok = True)
sh2 = wb.get_sheet(0)
Run Code Online (Sandbox Code Playgroud)
wb.get_sheet(0)类似于rb.sheet_by_index(0)xlrd中提供的功能,除了前者允许您修改内容(前提是用户已设置cell_overwrite_ok = True)
假设xlwt DOES提供了我正在寻找的功能,我计划再次浏览每个工作表,但这次要跟踪占用特定列的空间最多的内容,并根据该列设置列宽.当然,我也可以在写入工作表时跟踪特定列的最大宽度,但我觉得在已经写完所有数据后设置宽度会更清晰.
有谁知道我能做到吗?如果没有,你建议做什么来调整列宽?
在文档中xlrd,xlwt我学到了以下内容:
如何阅读现有的工作簿/表格:
from xlrd import open_workbook
wb = open_workbook("ex.xls")
s = wb.sheet_by_index(0)
print s.cell(0,0).value
#Prints contents of cell at location a1 in the first sheet in the document called ex.xls
Run Code Online (Sandbox Code Playgroud)
如何创建新的工作簿/表:
from xlwt import Workbook
wb = Workbook()
Sheet1 = wb.add_sheet('Sheet1')
Sheet1.write(0,0,'Hello')
wb.save('ex.xls')
#Creates a document called ex.xls with a worksheet called "Sheet1" and writes "Hello" to the cell located at a1
Run Code Online (Sandbox Code Playgroud)
我现在要做的是在现有工作簿中打开现有工作表并写入该工作表.
我尝试过类似的东西:
from xlwt import open_workbook
wb = open_workbook("ex.xls")
s = wb.sheet_by_index(0) …Run Code Online (Sandbox Code Playgroud) 我有一个包含不同数量列的Excel文件,我想使用Python循环遍历该文件的某些列(来自其标题行值),然后将这些列写入(复制)到另一个Excel文件.
有关如何做到这一点的任何例子吗?
我使用python 2.7和xlwt模块进行excel导出
我想设置我知道可以使用的单元格的背景颜色
style1 = xlwt.easyxf('pattern: pattern solid, fore_colour red;')
Run Code Online (Sandbox Code Playgroud)
但我想设置自定义颜色smth.比如#8a8eef或者是否有可能颜色的调色板,因为浅蓝色不起作用:)
谢谢
我想写一个这样的表:
----------------
| Long Cell |
----------------
| 1 | 2 |
----------------
Run Code Online (Sandbox Code Playgroud)
怎么写单元格Long Cell?谢谢.
我试过这样做:
sheet.write(0, 0, 'Long Cell')
sheet.write(1, 0, 1)
sheet.write(1, 1, 2)
Run Code Online (Sandbox Code Playgroud)
但最终结果如下:
--------------------
| Long Cell | |
--------------------
| 1 | 2 |
--------------------
Run Code Online (Sandbox Code Playgroud) 我有几个csv文件,我想作为excel工作簿(xls/xlsx)中的新工作表转储.我该如何实现这一目标?
谷歌搜索并发现'pyXLwriter',但似乎该项目已停止.虽然我尝试'pyXLwriter'想知道有没有替代品/建议/模块?
非常感谢.
[编辑]
这是我的解决方案:(任何人都有更精简,更多的pythonic解决方案?做评论.thx)
import glob
import csv
import xlwt
import os
wb = xlwt.Workbook()
for filename in glob.glob("c:/xxx/*.csv"):
(f_path, f_name) = os.path.split(filename)
(f_short_name, f_extension) = os.path.splitext(f_name)
ws = wb.add_sheet(str(f_short_name))
spamReader = csv.reader(open(filename, 'rb'), delimiter=',',quotechar='"')
row_count = 0
for row in spamReader:
for col in range(len(row)):
ws.write(row_count,col,row[col])
row_count +=1
wb.save("c:/xxx/compiled.xls")
print "Done"
Run Code Online (Sandbox Code Playgroud) 我搜索了谷歌并发现了一些矛盾.xlwt是否支持xlsx文件(MS Office 2007).我听说xlwt 0.7.4支持xlsx文件.有没有人尝试使用xlwt 0.7.4进行xlsx文件写入操作
这个问题的目的是,如果我需要安装,我没有安装库的权限我需要提供更多详细信息.我需要在python中编写xlsx文件.如果有人做了类似的事情,它将有助于提供更好的信息
我查看了这个维基页面.https://pypi.python.org/pypi/xlwt 但是没有发现它支持xlsx文件
或者我应该使用https://pypi.python.org/pypi/openpyxl来编写xlsx文件