如何通过 Python 将数据写入 sheet of excel 文件?
How to write a data into an exist sheet of excel file by Python?
我正在寻找一种将一些数据写入 excel 文件的方法。然后我发现xlwt
好像可以达到我的要求,但是我只能想办法添加一个新的sheet。
例如:
sheet = workbook.add_sheet('test222')
如果我希望在现有 sheet "test 111" 中输入一个值,有人知道该怎么做吗?
我的示例代码:
import xlwt
def write_report():
f_value = "500"
workbook = xlwt.Workbook('D:\Test.xls')
sheet = workbook.add_sheet('test222')
sheet.write(5, 3, f_value)
workbook.save('D:\Test.xls')
非常感谢。
[2018 年 7 月 31 日更新]
我使用import openpyxl的方法后,遇到了一个奇怪的问题。
写入数据后,部分边框消失了
原来的:
我将数据写入文件后:
部分已合并字段的边框被清除。 (项目 A、项目 B、类别 01 和类别 02)
这是 openpyxl 上的已知问题吗?
这是最小的例子:
import openpyxl
wbkName = 'New.xlsx'
wbk = openpyxl.load_workbook(wbkName)
wks = wbk['test1']
someValue = 1337
wks.cell(row=10, column=1).value = someValue
wbk.save(wbkName)
wbk.close
使用工作簿的显式名称保存似乎很重要 - wbk.save(wbkName)
,因为只有 wbk.save
不能完全完成工作,但不会引发错误。
您可以为此使用 xltpl - python 模块从 xls/x 模板生成 xls/x 文件。
使用您的 excel 文件作为模板。
在单元格中放入变量,例如:{{f_value}}, {%xv someValue%}
from xltpl.writer import BookWriter
writer = BookWriter('template.xls')
payload = {"f_value": "500", "someValue": 1337}
payloads = [payload]
writer.render_book(payloads)
writer.save('result.xls')
我正在寻找一种将一些数据写入 excel 文件的方法。然后我发现xlwt
好像可以达到我的要求,但是我只能想办法添加一个新的sheet。
例如:
sheet = workbook.add_sheet('test222')
如果我希望在现有 sheet "test 111" 中输入一个值,有人知道该怎么做吗?
我的示例代码:
import xlwt
def write_report():
f_value = "500"
workbook = xlwt.Workbook('D:\Test.xls')
sheet = workbook.add_sheet('test222')
sheet.write(5, 3, f_value)
workbook.save('D:\Test.xls')
非常感谢。
[2018 年 7 月 31 日更新]
我使用import openpyxl的方法后,遇到了一个奇怪的问题。
写入数据后,部分边框消失了
原来的:
我将数据写入文件后:
部分已合并字段的边框被清除。 (项目 A、项目 B、类别 01 和类别 02) 这是 openpyxl 上的已知问题吗?
这是最小的例子:
import openpyxl
wbkName = 'New.xlsx'
wbk = openpyxl.load_workbook(wbkName)
wks = wbk['test1']
someValue = 1337
wks.cell(row=10, column=1).value = someValue
wbk.save(wbkName)
wbk.close
使用工作簿的显式名称保存似乎很重要 - wbk.save(wbkName)
,因为只有 wbk.save
不能完全完成工作,但不会引发错误。
您可以为此使用 xltpl - python 模块从 xls/x 模板生成 xls/x 文件。
使用您的 excel 文件作为模板。
在单元格中放入变量,例如:{{f_value}}, {%xv someValue%}
from xltpl.writer import BookWriter
writer = BookWriter('template.xls')
payload = {"f_value": "500", "someValue": 1337}
payloads = [payload]
writer.render_book(payloads)
writer.save('result.xls')