精华内容
下载资源
问答
  • 2020-11-23 21:34:59

    想问下python3怎么将列表数据逐行写入excel表格呢?

    import xlwtf = xlwt.Workbook() #工作薄sheet1 = f.add_sheet(u'sheet1',cell_overwrite_ok=True) #创建sheetlist = [1,2,3,4,5]j = 0for i in list:sheet1.write(j,0,i) #写入

    python 怎么提取匹配条件信息生成excel表 如a.txt...

    import xlwt

    f = xlwt.Workbook() #创建工

    sheet1 = f.add_sheet(u'sheet1',cell_overwrite_ok=True) #创建sheet

    l_=[1,2,3,4,5]

    for i in range(len(l_)):

    sheet1.write(0,i,i)#表格一行开始写。第一列二列。。。。

    #sheet1.write(0,0,start_date,set_style('Times New Roman',220,True))

    f.save('text.xls')#保存文

    python怎么把数组数据写入表格文档?举个例子就行

    import xlwt

    f = xlwt.Workbook() #创建工

    sheet1 = f.add_sheet(u'sheet1',cell_overwrite_ok=True) #创建sheet

    list = [1,2,3,4,5]

    j = 0

    for i in list:

    sheet1.write(j,0,i) #写入 竖

    j=j 1

    f.save('text.xls')#保件

    Python如何将一个列表写入到一个excel表中的一列,...

    简单的介绍一下这库,先说xlrd,这个库读Excel比较,各种方法使用起来也挺方便

    bk = xlrd.open_workbook('your.xls')

    sh = bk.sheets()[-1]

    上面两句就可以打开Excel表的一个sheet,sheets得到的是一个list,存放所有的sheet。

    sh.nrows是该sheet中的行数,知道这个后就可以使用for循环来读所有的单元格了:

    sh.row(i)[3]这个就代表第i行的第4列。

    再看看pyExcelerator,这个用起来有点别扭:

    sheets = parse_xls('result.xls')

    先打开一个表格,sheets是一个list,包含了所有表格的内容,每一项就是一个sheet,而每个sheet是二元tuple,第一个是该sheet的名字,第二个是一个dict,dict的key是一个二元组,表示单元格的坐标,如(0,0),第一行第一列。

    从上面的分析中可以得出要访问Excel中第一个sheet的第一行第一列元素需要:

    sheets[0][1][(0,0)]

    pyExcelerator也不能得到行列数。

    写文件也比较简单:

    wb = Workbook()

    ws = wb.add_sheet('result')

    ws.write(0,0,“hello”)

    wb.save('result.xls')

    就不解释了:-)

    写文件时需要注意直接写Unicode内容进去,而不要写编码过的内容。

    本文来源于可可熊的窝 http://cocobear.info/blog , 原文地址:

    用python生成在html中显示的表格

    可以安装xlsxwriter库

    看:

    import xlsxwriter

    # 创建新表格

    workbook = xlsxwriter.Workbook('test.xlsx')

    worksheet = workbook.add_worksheet()

    # 表格的内

    expenses = (

    ['Rent', 1000],

    ['Gas',   100],

    ['Food',  300],

    ['Gym',    50],

    )

    # 想象表格的布局, 0,0 对应 A,1

    row = 0

    col = 0

    # 填个单元格

    for item, cost in (expenses):

    worksheet.write(row, col,     item)

    worksheet.write(row, col   1, cost)

    row  = 1

    workbook.close()

    更多相关内容
  • 主要介绍了Python读取Excel数据生成图表过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 安装xlsxwriter库 pip install xlsxwriter #设置表格名称 workbook = xlsxwriter.Workbook('hello.xlsx') #增加一个sheet worksheet = workbook.add_worksheet() # 设置表头 headings = ['Number', 'testA', 'testB'...

    安装xlsxwriter库

    pip install xlsxwriter
    
    #设置表格名称
    workbook = xlsxwriter.Workbook('hello.xlsx')
    #增加一个sheet
    worksheet = workbook.add_worksheet()
    # 设置表头
    headings = ['Number', 'testA', 'testB']  
    #数据
    data = [
        ['2017-9-1', '2017-90-2', '2017-9-3', '2017-9-4', '2017-9-5', '2017-9-6'],
        [10, 40, 50, 20, 10, 50],
        [30, 60, 70, 50, 40, 30]
    ]
    #整行写入
    worksheet.write_row('A1', headings)
    #整列写入
    worksheet.write_column('A2', data[0])
    worksheet.write_column('B2', data[1])
    worksheet.write_column('C2', data[2])
    workbook.close()
    

    在这里插入图片描述

    展开全文
  • windows下,使用pythonExcel数据批量导出到Word模板中生成新的文件
  • 本文实例讲述了Python实现导出数据生成excel报表的方法。分享给大家供大家参考,具体如下: #_*_coding:utf-8_*_ import MySQLdb import xlwt from datetime import datetime def get_data(sql): # 创建数据库连接...
  • 使用Python根据excel数据批量生成word文件,解决单选框问题。给网友提问的答复。 见 https://blog.csdn.net/zw010101/article/details/106111382
  •  因产品的同学试着用python统计Excel表格,但百度的程序又一直有各种问题, 所以叫我帮用python实现一个统计Excel表格程序;我之前也没有写过python操作Excel表格的程序,快速搜索实现了一下,还是发现一些问题,...
  • python读写excel文件有很多种方法: 用xlrd和xlwt进行excel读写 用openpyxl进行excel读写 用pandas进行excel读写 本文使用xlrd读取excel文件(xls,sxls格式),使用xlwt向excel写入数据 一、xlrd和xlwt的安装 安装...
  • 使用 Python 生成 HTML 表格基本没啥难度, for 循环遍历一遍数据并输出标签即可。 如果需要实现合并单元格,或者按需调整表格样式,就比较麻烦了。 这时,可以试试本文的主角 —— html-table 包,借助它可...
  • 为了将excel数据自动转换成所需要的erlang数据,听同事说使用python会很方便简单,就自学了两天python,写了一个比较粗糙的python脚本,不过能用,有什么优化的地方请指教 代码如下: #!/usr/bin/env python # -*- ...
  • #------------------读数据--------------------------------- fileName="C:\\Users\\st\\Desktop\\test\\20170221131701.xlsx" bk=xlrd.open_workbook(fileName) shxrange=range(bk.nsheets) try: sh=bk.sheet_by_...
  • 今天小编就为大家分享一篇利用pythonExcel中的特定数据提取并写入新表的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • Python自动生成Excel数据报表!

    千次阅读 2021-04-15 00:17:10
    来源:法纳斯特大家好,我是阳哥。之前阳哥分享了不少用 Python 操作 excel 的内容。今天继续来分享一篇,使用Python自动化生成数据报表!从一条条的数据中,创建出一张数据报表,...

    来源:法纳斯特

    大家好,我是阳哥。之前阳哥分享了不少用 Python 操作 excel 的内容。

    今天继续来分享一篇,使用Python自动化生成数据报表!

    从一条条的数据中,创建出一张数据报表,得出你想要的东西,提高效率。

    主要使用到pandas、xlwings以及matplotlib这几个库。

    先来看一下动态的GIF,都是程序自动生成。

    下面我们就来看看这个案例吧,水果蔬菜销售报表。

    原始数据如下,主要有水果蔬菜名称、销售日期、销售数量、平均价格、平均成本、总收入、总成本、总利润等。

    先导入相关库,使用pandas读取原始数据。

    import pandas as pd
    import xlwings as xw
    import matplotlib.pyplot as plt
    
    # 对齐数据
    pd.set_option('display.unicode.ambiguous_as_wide', True)
    pd.set_option('display.unicode.east_asian_width', True)
    
    # 读取数据
    df = pd.read_csv(r"fruit_and_veg_sales.csv")
    print(df)
    

    结果如下。

    一共是有1000行的销售数据。

    使用xlwings库创建一个Excel工作簿,在工作簿中创建一个表,表名为fruit_and_veg_sales,然后将原始数据复制进去。

    # 创建原始数据表并复制数据
    wb = xw.Book()
    sht = wb.sheets["Sheet1"]
    sht.name = "fruit_and_veg_sales"
    sht.range("A1").options(index=False).value = d
    
    

    关于xlwings库的使用,小F推荐两个文档地址

    中文版:

    https://www.kancloud.cn/gnefnuy/xlwings-docs/1127455

    英文版:

    https://docs.xlwings.org/en/stable/index.html

    推荐使用中文版,可以降低学习难度...

    当然关于Excel的VBA操作,也可以看看微软的文档。

    地址:

    https://docs.microsoft.com/zh-cn/office/vba/api/overview/excel

    将原始数据取过来后,再在工作簿中创建一个可视化表,即Dashboard表。

    # 创建表
    wb.sheets.add('Dashboard')
    sht_dashboard = wb.sheets('Dashboard')
    
    

    现在,我们有了一个包含两个工作表的Excel工作簿。fruit_and_veg_sales表有我们的数据,Dashboard表则是空白的。

    下面使用pandas来处理数据,生成Dashboard表的数据信息。

    DashBoard表的头两个表格,一个是产品的利润表格,一个是产品的销售数量表格。

    使用到了pandas的数据透视表函数。

    # 总利润透视表
    pv_total_profit = pd.pivot_table(df, index='类别', values='总利润(美元)', aggfunc='sum')
    print(pv_total_profit)
    
    # 销售数量透视表
    pv_quantity_sold = pd.pivot_table(df, index='类别', values='销售数量', aggfunc='sum')
    print(pv_quantity_sold)
    
    

    得到数据如下。

    稍后会将数据放置到Excel的表中去。

    下面对月份进行分组汇总,得出每个月的销售情况。

    # 查看每列的数据类型
    print(df.dtypes)
    df["销售日期"] = pd.to_datetime(df["销售日期"])
    
    # 每日的数据情况
    gb_date_sold = df.groupby(df["销售日期"].dt.to_period('m')).sum()[["销售数量", '总收入(美元)', '总成本(美元)', "总利润(美元)"]]
    gb_date_sold.index = gb_date_sold.index.to_series().astype(str)
    print(gb_date_sold)
    
    

    得到结果如下。

    这里先对数据进行了查询,发现日期列为object,是不能进行分组汇总的。

    所以使用了pd.to_datetime()对其进行了格式转换,而后根据时间进行分组汇总,得到每个月的数据情况。

    最后一个groupby将为Dashboard表提供第四个数据信息。

    # 总收入前8的日期数据
    gb_top_revenue = (df.groupby(df["销售日期"])
        .sum()
        .sort_values('总收入(美元)', ascending=False)
        .head(8)
        )[["销售数量", '总收入(美元)', '总成本(美元)', "总利润(美元)"]]
    print(gb_top_revenue)
    
    

    总收入前8的日期,得到结果如下。

    现在我们有了4份数据,可以将其附加到Excel中。

    # 设置背景颜色, 从A1单元格到Z1000单元格的矩形区域
    sht_dashboard.range('A1:Z1000').color = (198, 224, 180)
    
    # A、B列的列宽
    sht_dashboard.range('A:B').column_width = 2.22
    print(sht_dashboard.range('B2').api.font_object.properties.get())
    # B2单元格, 文字内容、字体、字号、粗体、颜色、行高(主标题)
    sht_dashboard.range('B2').value = '销售数据报表'
    sht_dashboard.range('B2').api.font_object.name.set('黑体')
    sht_dashboard.range('B2').api.font_object.font_size.set(48)
    sht_dashboard.range('B2').api.font_object.bold.set(True)
    sht_dashboard.range('B2').api.font_object.color.set([0, 0, 0])
    sht_dashboard.range('B2').row_height = 61.2
    
    # B2单元格到W2单元格的矩形区域, 下边框的粗细及颜色
    sht_dashboard.range('B2:W2').api.get_border(which_border=9).weight.set(4)
    sht_dashboard.range('B2:W2').api.get_border(which_border=9).color.set([0, 176, 80])
    
    # 不同产品总的收益情况图表名称、字体、字号、粗体、颜色(副标题)
    sht_dashboard.range('M2').value = '每种产品的收益情况'
    sht_dashboard.range('M2').api.font_object.name.set('黑体')
    sht_dashboard.range('M2').api.font_object.font_size.set(20)
    sht_dashboard.range('M2').api.font_object.bold.set(True)
    sht_dashboard.range('M2').api.font_object.color.set([0, 0, 0])
    
    # 主标题和副标题的分割线, 粗细、颜色、线型
    sht_dashboard.range('L2').api.get_border(which_border=7).weight.set(3)
    sht_dashboard.range('L2').api.get_border(which_border=7).color.set([0, 176, 80])
    sht_dashboard.range('L2').api.get_border(which_border=7).line_style.set(-4115)
    

    先配置一些基本内容,比如文字,颜色背景,边框线等,如下图。

    使用函数,批量生成四个表格的格式。

    # 表格生成函数.
    def create_formatted_summary(header_cell, title, df_summary, color):
        """
        Parameters
        ----------
        header_cell : Str
            左上角单元格位置, 放置数据
    
        title : Str
            当前表格的标题
    
        df_summary : DataFrame
            表格的数据
    
        color : Str
            表格填充色
        """
    
        # 可选择的表格填充色
        colors = {"purple": [(112, 48, 160), (161, 98, 208)],
                  "blue": [(0, 112, 192), (155, 194, 230)],
                  "green": [(0, 176, 80), (169, 208, 142)],
                  "yellow": [(255, 192, 0), (255, 217, 102)]}
    
        # 设置表格标题的列宽
        sht_dashboard.range(header_cell).column_width = 1.5
    
        # 获取单元格的行列数
        row, col = sht_dashboard.range(header_cell).row, sht_dashboard.range(header_cell).column
    
        # 设置表格的标题及相关信息, 如:字号、行高、向左居中对齐、颜色、粗体、表格的背景颜色等
        summary_title_range = sht_dashboard.range((row, col))
        summary_title_range.value = title
        summary_title_range.api.font_object.font_size.set(14)
        summary_title_range.row_height = 32.5
        # 垂直对齐方式
        summary_title_range.api.verticalalignment = xw.constants.HAlign.xlHAlignCenter
        summary_title_range.api.font_object.color.set([255, 255, 255])
        summary_title_range.api.font_object.bold.set(True)
        sht_dashboard.range((row, col),
                            (row, col + len(df_summary.columns) + 1)).color = colors[color][0]  # Darker color
    
        # 设置表格内容、起始单元格、数据填充、字体大小、粗体、颜色填充
        summary_header_range = sht_dashboard.range((row + 1, col + 1))
        summary_header_range.value = df_summary
        summary_header_range = summary_header_range.expand('right')
        summary_header_range.api.font_object.font_size.set(11)
        summary_header_range.api.font_object.bold.set(True)
        sht_dashboard.range((row + 1, col),
                            (row + 1, col + len(df_summary.columns) + 1)).color = colors[color][1]  # Darker color
        sht_dashboard.range((row + 1, col + 1),
                            (row + len(df_summary), col + len(df_summary.columns) + 1)).autofit()
    
        for num in range(1, len(df_summary) + 2, 2):
            sht_dashboard.range((row + num, col),
                                (row + num, col + len(df_summary.columns) + 1)).color = colors[color][1]
    
        # 找到表格的最后一行
        last_row = sht_dashboard.range((row + 1, col + 1)).expand('down').last_cell.row
        side_border_range = sht_dashboard.range((row + 1, col), (last_row, col))
    
        # 给表格左边添加带颜色的边框
        side_border_range.api.get_border(which_border=7).weight.set(3)
        side_border_range.api.get_border(which_border=7).color.set(colors[color][1])
        side_border_range.api.get_border(which_border=7).line_style.set(-4115)
    
    
    # 生成4个表格
    create_formatted_summary('B5', '每种产品的收益情况', pv_total_profit, 'green')
    create_formatted_summary('B17', '每种产品的售出情况', pv_quantity_sold, 'purple')
    create_formatted_summary('F17', '每月的销售情况', gb_date_sold, 'blue')
    create_formatted_summary('F5', '每日总收入排名Top8 ', gb_top_revenue, 'yellow')
    
    

    得到结果如下。

    可以看到,一行行的数据经过Python的处理,变为一目了然的表格。

    最后再绘制一个matplotlib图表,添加一张logo图片,并保存Excel文件。

    # 中文显示
    plt.rcParams['font.sans-serif']=['Songti SC']
    
    # 使用Matplotlib绘制可视化图表, 饼图
    fig, ax = plt.subplots(figsize=(6, 3))
    pv_total_profit.plot(color='g', kind='bar', ax=ax)
    
    # 添加图表到Excel
    sht_dashboard.pictures.add(fig, name='ItemsChart',
                               left=sht_dashboard.range("M5").left,
                               top=sht_dashboard.range("M5").top,
                               update=True)
    
    # 添加logo到Excel
    logo = sht_dashboard.pictures.add(image="pie_logo.png",
                               name='PC_3',
                               left=sht_dashboard.range("J2").left,
                               top=sht_dashboard.range("J2").top+5,
                               update=True)
    
    # 设置logo的大小
    logo.width = 54
    logo.height = 54
    
    # 保存Excel文件
    wb.save(rf"水果蔬菜销售报表.xlsx")
    
    

    此处需设置一下中文显示,否则会显示不了中文,只有一个个方框。

    得到最终的水果蔬菜销售报表。

    本文的示例代码,可以在Mac+Excel2016中运行的,与Windows还是会有一些区别,API函数的调用(pywin32 or appscript)。

    比如表格文字的字体设置。

    # Windows
    sht_dashboard.range('B2').api.font.name = '黑体'
    
    # Mac
    sht_dashboard.range('B2').api.font_object.name.set('黑体')
    

    对于Windows版本的,也提供了相关的程序文件,在点击下面卡片,回复「excel报表」,即可获取代码及相关数据。

    展开全文
  • 因为工作中需要,需要生成一个带表格的图片 例如: ...后来考虑使用Python的图片处理库Pillow,和生成表格式的库prattytable,下面的图片是最终生成的图片效果 总体来说是分为两个步骤: 使用prat
  • 由于工作中需要写精算,给的一个Excel中,有大量数据需要写入数据库,一个个写,不知要到何年何月,于是使用Python,利用xlrd模块,解析Excel,将其中需要的数据生成想要的sql语句,根据sql语句插入到数据库,后续会...
  • 在工作中,遇到了使用python生成Excel表格的需求,经过资料的查找与对比,决定使用第三方库xlwt来生成Excel表格,现做如下总结:简单例子:import xlwtwb = xlwt.Workbook(encoding = 'ascii') #创建实例,并且规定...

    在工作中,遇到了使用python生成Excel表格的需求,经过资料的查找与对比,决定使用第三方库xlwt来生成Excel表格,现做如下总结:

    简单例子:

    import xlwt

    wb = xlwt.Workbook(encoding = 'ascii') #创建实例,并且规定编码

    ws = wb.add_sheet('My Worksheet') #设置工作表名称

    ws.write(0,0,'first') #向表格中插入字符串,前两位数字分别为行和列,第三个参数为要插入的内容,第四个参数可以设置样式

    wb.save('test.xls') #将生成的表格保存为

    单元格样式控制:

    def set_style(name, height, bold=False, back=False): #样式控制函数

    style = xlwt.XFStyle() # 初始化样式

    font = xlwt.Font() # 为样式创建字体

    font.name = name # 字体由函数传入

    font.bold = bold

    font.color_index = 4

    font.height = height

    style.font = font

    borders = xlwt.Borders() # 设置边框

    borders.left = xlwt.Borders.THIN # 可选: NO_LINE, THIN, MEDIUM, DASHED, DOTTED, THICK, DOUBLE, HAIR, MEDIUM_DASHED, THIN_DASH_DOTTED, MEDIUM_DASH_DOTTED, THIN_DASH_DOT_DOTTED, MEDIUM_DASH_DOT_DOTTED, SLANTED_MEDIUM_DASH_DOTTED, or 0x00 through 0x0D.

    borders.right = xlwt.Borders.THIN

    borders.top = xlwt.Borders.THIN

    borders.bottom = xlwt.Borders.THIN

    style.borders = borders

    if back:

    patterni = xlwt.Pattern() # 为样式创建图案

    patterni.pattern = 2 # 设置底纹的图案索引,1为实心,2为50%灰色,对应为excel文件单元格格式中填充中的图案样式

    patterni.pattern_fore_colour = 0x16 # 设置底纹的前景色,对应为excel文件单元格格式中填充中的背景色

    patterni.pattern_back_colour = 0x16 # 设置底纹的背景色,对应为excel文件单元格格式中填充中的图案颜色

    style.pattern = patterni # 为样式设置图案

    return style

    背景色对照:

    _colour_map_text = """\

    aqua 0x31

    black 0x08

    blue 0x0C

    blue_gray 0x36

    bright_green 0x0B

    brown 0x3C

    coral 0x1D

    cyan_ega 0x0F

    dark_blue 0x12

    dark_blue_ega 0x12

    dark_green 0x3A

    dark_green_ega 0x11

    dark_purple 0x1C

    dark_red 0x10

    dark_red_ega 0x10

    dark_teal 0x38

    dark_yellow 0x13

    gold 0x33

    gray_ega 0x17

    gray25 0x16

    gray40 0x37

    gray50 0x17

    gray80 0x3F

    green 0x11

    ice_blue 0x1F

    indigo 0x3E

    ivory 0x1A

    lavender 0x2E

    light_blue 0x30

    light_green 0x2A

    light_orange 0x34

    light_turquoise 0x29

    light_yellow 0x2B

    lime 0x32

    magenta_ega 0x0E

    ocean_blue 0x1E

    olive_ega 0x13

    olive_green 0x3B

    orange 0x35

    pale_blue 0x2C

    periwinkle 0x18

    pink 0x0E

    plum 0x3D

    purple_ega 0x14

    red 0x0A

    rose 0x2D

    sea_green 0x39

    silver_ega 0x16

    sky_blue 0x28

    tan 0x2F

    teal 0x15

    teal_ega 0x15

    turquoise 0x0F

    violet 0x14

    white 0x09

    yellow 0x0D"""

    展开全文
  • 前几天,我姐遇见了一个难题:需要从excel表格中不断复制数据到word模板中,相当繁琐,询问我有没有解决的办法。于是我百度了一下,借鉴了相关博主的博文,结合自己的需求,最终解决了该问题。特在此记录一下。 问题...
  • python生成excel文件并写入内容

    千次阅读 2020-04-20 10:00:01
    使用xlwt模块写入excel内容
  • pythonExcel表格数据进行读取和写入

    千次阅读 2022-04-20 11:23:13
    1.3提起Excel表格中指定列数据; 1.4定向筛选所需数据; 1.5多表数据统计排行; 1.6多表数据合并新excel文件。 2.系统开发环境准确: Anaconda3,在conda 中,window和ubuntu中的python功能一样。 pycharm。 3...
  • 此代码详细描述如何使用openpyxl将数据库中数据导出成自定义格式的excel文档。openpyxl处理excel的格式,由于xlwt只能识别xls文件,并且xls文件的格式更改有限制字节,因此需要采用更高版本的xlsx文件,对应的方法用...
  • 将数据库中的数据保存在excel文件中有很多种方法,这里主要介绍pyExcelerator的使用。 一、前期准备(不详细介绍MySQL) python包pyExcelerator和MySQLdb 导入方法:(以Pycharm为例) 在File->Settings中点击右上角...
  • 安装的是Python32bit的工具;把excel表格格式转换成*.csv格式文件;若想删除生成的文件,只需把最后一句放开即可。注:并没有把格式也转换过去。
  • Python生成excel表格并设置样式

    千次阅读 2020-06-11 18:00:43
    python在做爬虫时会涉及到数据存储问题,下面说一下将数据存储在excel表格中,主要使用扩展类xlwt,下面详细说一下,主要涉及到了数据列,背景,名称等参数。 说明:python3.7、window环境 一、类库安装 pip install...
  • 【实例简介】【实例截图】【核心代码】# -*- coding: utf-8 -*-from openpyxl import load_workbookfrom openpyxl import Workbookfrom openpyxl.chart import (PieChart , ProjectedPieChart, Reference)from ...
  • 如下所示: # _*_ coding:utf-8 _*_ #----------------------------------------------- # import modules #----------------------------------------------- import os import xlwt import sys ...
  • 主要介绍了python实现查找excel里某一列重复数据并且剔除后打印的方法,涉及Python使用xlrd模块操作Excel的相关技巧,需要的朋友可以参考下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,150
精华内容 7,660
关键字:

python生成excel表格数据