ITPub博客

首页 > 应用开发 > > 用python来处理xlsx文件

用python来处理xlsx文件

作者:lakefront 时间:2019-09-04 15:12:57 0 删除 编辑

1.先转两篇文章:

python读写Excel和读写Xml. https://linsir.org/post/read-and-write-excel-and-xml-files-with-python

用python读写Excel文件 http://www.gocalf.com/blog/python-read-write-excel.html

2.xlsxwriter的官方文档在这里:

https://xlsxwriter.readthedocs.io/

3.贴下我照抄别人的代码:

点击(此处)折叠或打开

import xlsxwriter

workbook = xlsxwriter.Workbook("add_sheet.xlsx")

worksheet = workbook.add_worksheet(name="New Sheet 2")

expenses = (

["Rent", 1000],

["Gas", 100],

["Food", 300],

["Gym", 50],

)

row = 0

col = 0

for item,cost in (expenses):

worksheet.write(row, col, item)

worksheet.write(row, col+1, cost)

row += 1

worksheet.write(row, 0, 'Total')

worksheet.write(row, 1, '=SUM(B1:B4)')

format1 = workbook.add_format({"bg_color":"blue",

"font_color": "red"})

worksheet.conditional_format("B1:KB5",

{"type": "cell",

"criteria": ">=",

"value": 150,

"format": format1})

workbook.close()

效果如下: 我发现我的SUM公式没有算结果,显示为0,不知道为什么.我用的是libreoffice 5.3 . 

下面是个有chart的例子,同样的公式仍然是没有计算出来结果.

点击(此处)折叠或打开

import xlsxwriter

workbook = xlsxwriter.Workbook("chart_column.xlsx")

worksheet = workbook.add_worksheet()

chart = workbook.add_chart({"type" : "column"})

data = [

[ "Year", "2013", "2014", "2015" ],

[ "Revenue", 100, 120, 125 ],

[ "COGS", 80, 90, 70 ],

[ "Profit", 20, 30, 55 ],

]

worksheet.write_row("A1", data[0])

worksheet.write_row("A2", data[1])

worksheet.write_row("A3", data[2])

worksheet.write_row("A4", data[3])

chart.add_series({"values" :"=Sheet1!$B$2:$B$4","name":"2013"})

chart.add_series({"values" :"=Sheet1!$C$2:$C$4","name":"2014"})

chart.add_series({"values" :"=Sheet1!$D$2:$D$4","name":"2015"})

worksheet.insert_chart("G1", chart)

worksheet.write(5, 0, "% Gain")

worksheet.write(5, 1, "=(B4/B2)*100")

worksheet.write(5, 2, "=(C4/C2)*100")

worksheet.write(5, 3, "=(D4/D2)*100")

workbook.close()

结果如下:

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2491/viewspace-3162073/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-05

  • 博文量
    99
  • 访问量
    625