精华内容
下载资源
问答
  • 最近发现excel数据量极大,并且通过简单的数据操作不能提取到我需要的数据,如果单独操作,数据量太大耗时太长。想着通过简单的方式,并且快速提取数据,就想到了Pythonpython操作Excel使用的openyxl和pandas对...

    最近发现excel数据量极大,并且通过简单的数据操作不能提取到我需要的数据,如果单独操作,数据量太大耗时太长。

    想着通过简单的方式,并且快速提取数据,就想到了Python。

    python操作Excel使用的openyxl和pandas对Excel进行操作。

    代码如下:

    #!/usr/bin/env python

    # -*- coding: utf-8 -*-

    # @Time : 2020-02-24 下午 03:43

    # @Author : Zhanxing

    # @Site :

    # @File : 提取字段.py

    # @Software: PyCharm

    import openpyxl

    import pandas as pd

    from xlutils.copy import copy

    df=pd.read_excel("222.xlsx",sheet_name="XXX")

    data=(df[["XXX","XXX"]])

    data.to_excel("new.xlsx", index=False)

    class Excel:

    def __init__(self, excel_file):

    self.excel = openpyxl.load_workbook(excel_file)

    self.sheet_name = self.excel.get_sheet_names()

    self.sheet = self.excel.get_sheet_by_name(self.sheet_name[0])

    def excel_read(self):

    """

    返回excel每一行的生成器对象

    :return:

    """

    yield from self.sheet.iter_rows(min_row=2)

    def run(excel_file, new_excel):

    """

    :param excel_file: 要处理的excel的路径

    :param new_excel: 处理后要保存的文件名

    :return:

    """

    excel = Excel(excel_file)

    excel_line = [line for line in excel.excel_read()]

    for line in excel_line:

    for cell in line:

    if isinstance(cell.value, int):

    continue

    people_name = cell.value.strip("[]").split(",")

    for num in range(len(people_name)):

    if "XX" in people_name[num]:

    excel.sheet.cell(row=cell.row, column=cell.column, value=people_name[num])

    break

    excel.excel.save(new_excel)

    if __name__ == "__main__":

    run("new.xlsx","11.xlsx")

    展开全文
  • <p>python 提取excel的某几列的数据, 提取3个列的数据。3个列的数据生成了3个列表。每个列表里面有1000个数据。 我需要把这3个数据按照每个100行切割生成10个excel文件。 <p>3个列的数据按100行数切割生成...
  • python提取excel数据形成折线图、柱状图 python提取excel数据形成折线图、柱状图形成折线图形成柱状图 形成折线图 python提取excel数据 下面展示一些 代码块。 1、首先需要import xlrd 2、将数据打开,table = ...

    python提取excel数据形成折线图、柱状图

    形成折线图

    • python提取excel数据
      下面展示一些 代码块
      1、首先需要import xlrd
      2、将数据打开,table = data.sheets()[0],0代表是sheet1,如果你的数据在sheet2,则table = data.sheets()[1]
    import xlrd
    data = xlrd.open_workbook(r'C:\Users\Desktop\\AI.xlsx')
    table = data.sheets()[0]
    print(table)
    
    • 我随便输入的数据,方便看
      我随便输入的数据

    下面展示一些 读取数据

    x_datas=[]#用来表示横坐标
    As=[]
    Bs=[]
    
    for i in range(1,10):
    
        x_data=table.row_values(i)[0]
        x_datas.append(x_data)
    
        A=table.row_values(i)[1]
        As.append(A)
        B=table.row_values(i)[2]
        Bs.append(B)
        
    print(x_datas)
    print(As)
    print(Bs)
    
    • 结果如下
    [5.0, 10.0, 15.0, 20.0, 30.0, 50.0, 100.0, 200.0, 300.0]
    [94.0009, 90.3048, 85.96, 82.1583, 75.8516, 66.2486, 51.2977, 36.5599, 31.3475]
    [97.7063, 96.2765, 94.5793, 93.0434, 90.3905, 86.0659, 78.7947, 70.9617, 67.3024]
    
    • 接下来就是展示为折线图

    下面展示一些 内联代码片

    plt.plot(x_datas,As, 'ks--', linewidth = 1)
    plt.plot(x_datas,Bs, 'ko-', linewidth = 1)
    
    • 结果如图
      在这里插入图片描述

    • plt.plot参数可以参考这篇plt.plot()函数详解

    • plt.plot(x轴,Y轴, 线条的颜色格式等, 线条的宽度)

    • 完整代码如下

    import xlrd
    import matplotlib.pyplot as plt
    data = xlrd.open_workbook(r'C:\Users\Desktop\\AI.xlsx')
    table = data.sheets()[0]
    print(table)
    x_datas=[]#用来表示横坐标
    As=[]
    Bs=[]
    
    for i in range(1,10):
    
        x_data=table.row_values(i)[0]
        x_datas.append(x_data)
    
        A=table.row_values(i)[1]#第一列数据
        As.append(A)
        B=table.row_values(i)[2]#第二列数据bar_width = 0.2
    
    plt.bar(np.arange(len(x_datas)),height=As,width=bar_width, color="green")
    plt.bar(np.arange(len(x_datas))+bar_width,height=Bs, width=bar_width, color="red")
    
        Bs.append(B)
        
    print(x_datas)
    print(As)
    print(Bs)
    
    plt.plot(x_datas,As, 'ks--', linewidth = 1)
    plt.plot(x_datas,Bs, 'ko-', linewidth = 1)
    
    plt.title('TEST')#标题
    plt.legend('AB')#图例
    
    plt.xlabel('x')#X轴
    plt.ylabel('y')#Y轴
    plt.show()#出图
    

    形成柱状图

    import numpy as np
    bar_width = 0.2
    plt.bar(np.arange(len(x_datas)),height=As,width=bar_width, color="green")
    plt.bar(np.arange(len(x_datas))+bar_width,height=Bs, width=bar_width, color="red")
    
    • 完整代码如下
    import xlrd
    import matplotlib.pyplot as plt
    import numpy as np
    
    data = xlrd.open_workbook(r'C:\Users\CNU\Desktop\\AI.xlsx')
    table = data.sheets()[4]
    print(table)
    x_datas=[]#用来表示横坐标
    As=[]
    Bs=[]
    
    for i in range(1,10):
    
        x_data=table.row_values(i)[0]
        x_datas.append(x_data)
    
        A=table.row_values(i)[1]
        As.append(A)
        B=table.row_values(i)[2]
        Bs.append(B)
        
    print(x_datas)
    print(As)
    print(Bs)
    
    bar_width = 0.2
    
    plt.bar(np.arange(len(x_datas)),height=As,width=bar_width, color="green")
    plt.bar(np.arange(len(x_datas))+bar_width,height=Bs, width=bar_width, color="red")
    
    plt.title('TEST')#标题
    plt.legend('AB')#图例
    plt.xlabel('x')#X轴
    plt.ylabel('y')#Y轴
    plt.show()#出图
    
    • 结果如下图
      结果
    • plt.bar参数可以参考柱状图这篇文章。
    展开全文
  • python读写excel练习资料,使用python3.6.2,提供给用户做更好的练习使用
  • Python处理Excel文件主要是第三方模块库xlrd、xlwt、pyexcel-xls、xluntils和pyExcelerator,以及win32com和openpyxl模块,此外Pandas中也带有可以读取Excel文件的模块(read_excel)。基于扩展知识的目的,我们使用xl...

    现有的Excel分为两种格式:xls(Excel 97-2003)和xlsx(Excel 2007及以上)。

    Python处理Excel文件主要是第三方模块库xlrd、xlwt、pyexcel-xls、xluntils和pyExcelerator,以及win32com和openpyxl模块,此外Pandas中也带有可以读取Excel文件的模块(read_excel)。

    基于扩展知识的目的,我们使用xlrd模块读取Excel数据。

    首先安装该库,在系统终端命令行输入命令pip install xlrd。

    然后我们以“附件-chapter2”文件夹demo.xlsx数据文件为例,介绍该库的具体应用。数据概览如图所示:

    excel_data.png

    import xlrd # 导入库

    # 打开文件

    xlsx = xlrd.open_workbook("demo.xlsx’)

    # 查看所有sheet列表

    print ("All sheets: %s’%xlsx.sheet_names())

    print ("===================================’) # 内容分割线

    # 查看sheet1的数据概况

    sheet1 = xlsx.sheets()[0] #获得第一张sheet,索引从0开始

    sheet1_name = sheet1.name # 获得名称

    sheet1_cols = sheet1.ncols # 获得列数

    sheet1_nrows = sheet1.nrows # 获得行数

    print ("Sheet1 Name: %s Sheet1 cols: %s Sheet1 rows: %s’)%(sheet1_name, sheet1_cols, sheet1_nrows)

    print ("===================================’) # 内容分割线

    # 查看sheet1的特定切片数据

    sheet1_nrows4 = sheet1.row_values(4) # 获得第4行数据

    sheet1_cols2 = sheet1.col_values(2) # 获得第2列数据

    cell23 = sheet1.row(2)[3].value # 查看第3行第4列数据

    print ("Row 4: %s Col 2: %s Cell 1: %s ’%(sheet1_nrows4, sheet1_cols2, cell23))

    print ("===================================’) # 内容分割线

    # 查看sheet1的数据明细

    for i in range(sheet1_nrows): # 逐行打印sheet1数据

    print (sheet1.row_values(i))

    上述代码中,我们先读取一个Excel文件,再查看所有sheet(工作簿)并输出sheet1相关属性信息;然后查看sheet1中特定数据行、列和元素的信息;最后我们用循环的方式,依次读取每个数据行并打印输出。

    以下是代码执行后打印输出的结果

    All sheets: [u’Sheet1′]

    ===================================

    Sheet1 Name: Sheet1

    Sheet1 cols: 4

    Sheet1 rows: 10

    ===================================

    Row 4: [u’431381197408191515′, u’有效′, 42725.0, u’深圳市′]

    Col 2: [u’Create_Time’, 42725.0, 42725.0, 42725.0, 42725.0, 42725.0, 42725.0, 42725.0, 42725.0, 42725.0]

    Cell 1: 深圳市

    ===================================

    [u’ID_number’, u’Status’, u’Create_Time’, u’Business_City’]

    [u’431381198109106573′, u’有效′, 42725.0, u’深圳市′]

    [u’431381198809122734′, u’有效′, 42725.0, u’深圳市′]

    [u’431381197903117478′, u’有效′, 42725.0, u’深圳市′]

    [u’431381197408191515′, u’有效′, 42725.0, u’深圳市′]

    [u’431381197606166011′, u’有效′, 42725.0, u’深圳市′]

    [u’43138119850623339X’, u’有效′, 42725.0, u’深圳市′]

    [u’431381198908223477′, u’有效′, 42725.0, u’深圳市′]

    [u’431381198901176911′, u’有效′, 42725.0, u’深圳市′]

    [u’43138119870827275X’, u’有效′, 42725.0, u’深圳市′]

    提示 在上述打印输出的内容中,我们发现第二列、第三列、第四列与原始数据似乎不同。第二列和第四列“异常”的原因是将中文编码统一转换为Unicode编码,便于在不同程序间调用;第三列“异常”是由于将日期格式转换为数值格式而已。

    上述操作只是将数据从Excel中读取出来,基于读取的数据转换为数组便可以进行矩阵计算。由于矩阵计算大多是基于数值型数据实现的,因此上述数据将无法适用于大多数科学计算场景,这点需要注意。

    总结:在企业实际场景中,由于Excel本身的限制和适用,其无法存储和计算过大(例如千万级的数据记录)的数据量,并且Excel本身也不是为了海量数据的应用而产生的。因此,Excel可以作为日常基本数据处理、补充数据来源或者汇总级别的数据进行读取,同时也可以作为数据结果展示的载体,这种应用下对于大量数值表格的应用效果非常好。

    ====================【好书推荐,我为自己代言】====================

    《Python数据分析与数据化运营》第二版上市啦!

    50+数据流工作知识点14个数据分析与挖掘主题8个综合性运营分析案例涵盖会员、商品、流量、内容4大主题360°把脉运营问题并贴合数据场景落地

    本书主要基于Python实现,其中主要用到的计算库是numpy、pandas和sklearn,其他相关库还包括:

    标准库:re、time、datetime、json、 base64、os、sys、cPickle、tarfile

    Python调用R的rpy2

    统计分析:Statsmodels

    中文处理:结巴分词

    文本挖掘:Gensim

    数据挖掘和算法:XGboost、gplearn、TPOT

    爬虫和解析:requests、Beautiful Soup、xml

    图像处理:OpenCV和PIL/Pollow

    数据读取:xlrd、pymongo、pymysql

    数据预处理:imblearn

    展示美化类:Matplotlib、pyecharts、graphviz、prettytable、wordcloud、mpl_toolkits、pydotplus

    如果你对以下内容感兴趣,那么本书将值得一看:

    KMeans聚类的自动K均值的确立方法

    基于软方法的多分类模型组合评估模型的应用

    基于自动下探(下钻、细分)的应用

    基于增量学习的多项式贝叶斯分类

    pipeline管道技术的应用

    基于超参数的自动参数值的优化方法

    特征自动选择

    文本分类、文本主题挖掘

    基于自动时间序列ARIMA的P、D、Q的调整

    python决策树规则输出

    基于自定义图像的文本标签云

    非结构化数据,例如图像、音频、文本等处理

    对象持久化处理

    如何使用Python调用R实现数据挖掘

    自动化学习:增加了对于自动化数据挖掘与机器学习的理论、流程、知识和应用库介绍,并基于TPOT做自动化回归和分类学习案例演示

    有关这本书的写作感受、详细内容介绍、附件(含数据和代)下载、关键知识和方法以及完整书稿目录,请访问《Python数据分析与数据化运营》第二版出版了!要购买此书,可以去京东、当当和天猫等查看。

    第二版封面2.jpg

    展开全文
  • python提取excel表格数据

    千次阅读 2020-08-26 15:26:21
    今天需要提取Excel表格数据,但是之前没有弄过,然后找到了xlrd模块,但是有个来个问题需要解决: 1、如果Excel表格数据过多,如何判断第一行从何处开始读取Excel数据。 2、如果Excel表格中有合并表格,不能直接一行...

    一、说明:

    今天需要提取Excel表格数据,但是之前没有弄过,然后找到了xlrd模块,但是有个来个问题需要解决:
    1、如果Excel表格数据过多,如何判断第一行从何处开始读取Excel数据。
    2、如果Excel表格中有合并表格,不能直接一行一行读取数据,不然就会有合并区域(除了坐上去的单元格,其他的单元格都是空字符串)。

    二、带着我发现的来个问题,寻找解决方法:

    0、安装模块xlrd

    展开全文
  • import pandas as pd import os data=pd.DataFrame() dir="D:/nevwork/" filenames=os.listdir(dir) for name in filenames: file=pd.ExcelFile("D:/nevwork/"+name) ... df=pd.read_excel("D:/ne...
  • '房源名称')) except Exception: pass list.append([xm,cplx,fymc]) for row in list: writer.writerow(row) csv_file.close() 标签:__,表格,python,Excel,cell,sheetName,getColumnIndex,table,csv 来源: ...
  • python提取Excel某几列数据

    千次阅读 2019-06-23 15:32:08
    import xlrd data_name = xlrd.open_workbook(dir) #打开文件,dir为文件路径 table = data_name.sheet_by_index(sheetnum) #打开工作表,sheetnum为工作表的索引 ...#举例除了第三列不提取之外,...
  • python 提取 Excel 特定列 - 带界面

    千次阅读 2019-11-29 14:49:06
    需求 :一个Excel有多个列,需要提取部分的列.生成一个新的Excel python依赖tkinter,pandas # -*- coding: UTF-8 -*- import tkinter as tk from tkinter import filedialog, RIGHT, Scrollbar, Y, LEFT from os ...
  • python提取excel某个数据

    千次阅读 2019-07-10 21:02:27
    欢迎使用Markdown编辑器 import xlrd import xlwt workbook=xlrd.open_workbook(r’C:\Users\user\Desktop\新建文件夹\mutton.xlsx’) print(workbook.sheet_names()) sheet1=workbook.sheet_by_name(‘data’)...
  • 常用的表格数据存储文件格式——CSV,Microsoft Excel,Google ExcelPython通常称为粘合语言。...本文的学习内容:从谷歌表格中提取数据从CSV文件中提取数据从Excel文件中提取数据本文适用于以下读者...
  • 前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 ...用Excel处理,..
  • data = pd.read_excel('C:\\Users\\Administrator\\Desktop\\combinedreport\\Combined Report.XLSX') RHQ = data[data['CoCd'] == '28C0'] RHQ.to_excel('C:\\Users\\Administrator\\Desktop\\combinedreport\\...
  • 1、源码 import pandas as pd import numpy as np tip1 = input('请输入文件名:') tip2 = input('请输入起始列数: ') ...def read_excel(tip1,tip2, tip3): data1 = pd.read_excel(str(tip1)) nump...
  • 有一个excel数据表格,我想把我需要的数据提取出来写成另一个excel。 ![图片说明](https://img-ask.csdn.net/upload/201907/26/1564104667_985651.png) 如图,这是表格中的一列数据,我想把只含有P115的行数据...
  • 使用ipython进行代码编写,清洗excel的数据并且转化到DataFrame上进行平均值的输出,最后输出为新的Excel的表格
  • python提取excel文档内容到新文档

    千次阅读 2017-12-31 17:28:57
    import xlrd import xlwt import re ...def open_excel(file): try: data=xlrd.open_workbook(file) return data except Exception as e: print (str(e)) #写入新的excel表 def write_excel(f
  • python提取excel表单列的前几个字符

    千次阅读 2020-07-21 09:43:30
    1.首先读取excel df['列名'].apply(lambda x:x[0:12]).tolist()#前十二位 df['列名']=df['列名'].apply(lambda x:x[0:12]).tolist()
  • 有解决方案,但csv的处理方式与excel不同.从文档,对于csv:usecols : list-like or callable,default NoneFor example,a valid list-like usecols parameter would be [0,1,2] or ["foo’,"bar’,"baz...
  • 使用pandas获取Excel中“省市”一列含有目标值一行,显示有错误 For I in range(len(data)): a=s if a in data.loc[i,’省市’]: print(data.loc[i,:]) 错误代码为 if a in data.loc[i,’省市’] 显示...
  • python如何提取Excel中的某列生成新的表格?发布时间:2020-05-27 10:45:05来源:亿速云阅读:350python如何提取Excel中的某列生成新的表格?针对这个问题,今天小编总结这篇文章,希望能帮助更多想解决这个问题的...
  • 最近发现excel数据量极大,并且通过简单的数据操作不能提取到我需要的数据,如果单独操作,数据量太大耗时太长。想着通过简单的方式,并且快速提取数据,就想到了Pythonpython操作Excel使用的openyxl和pandas对...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,704
精华内容 7,481
关键字:

python提取excel

python 订阅