精华内容
下载资源
问答
  • python使用pandasxlsx文件读取前n行数据读取指定数据(指定行指定列)获取文件行号和列标题将数据转换为字典形式import pandas as pd#1.读取前n行所有数据df1=pd.read_excel('d1.xlsx')#读取xlsx中的第一个sheet...

    python使用pandas读xlsx文件

    读取前n行数据

    读取指定数据(指定行指定列)

    获取文件行号和列标题

    将数据转换为字典形式

    import pandas as pd

    #1.读取前n行所有数据

    df1=pd.read_excel('d1.xlsx')#读取xlsx中的第一个sheet

    data1=df1.head(10)#读取前10行所有数据

    data2=df1.values#list【】 相当于一个矩阵,以行为单位

    #data2=df.values() 报错:TypeError: 'numpy.ndarray' object is not callable

    print("获取到所有的值:\n{0}".format(data1))#格式化输出

    print("获取到所有的值:\n{0}".format(data2))

    #2.读取特定行特定列

    data3=df1.iloc[0].values#读取第一行所有数据

    data4=df1.iloc[1,1]#读取指定行列位置数据:读取(1,1)位置的数据

    data5=df1.iloc[[1,2]].values#读取指定多行:读取第一行和第二行所有数据

    data6=df1.iloc[:,[0]].values#读取指定列的所有行数据:读取第一列所有数据

    print("数据:\n{0}".format(data3))

    print("数据:\n{0}".format(data4))

    print("数据:\n{0}".format(data5))

    print("数据:\n{0}".format(data6))

    #3.获取xlsx文件行号、列号

    print("输出行号列表{}".format(df1.index.values))#获取所有行的编号:0、1、2、3、4

    print("输出列标题{}".format(df1.columns.values))#也就是每列的第一个元素

    #4.将xlsx数据转换为字典

    data=[]

    for i in df1.index.values:#获取行号的索引,并对其遍历

    #根据i来获取每一行指定的数据,并用to_dict转成字典

    row_data=df1.loc[i,['id','name','class','data','score',]].to_dict()

    data.append(row_data)

    print("最终获取到的数据是:{0}".format(data))

    #iloc和loc的区别:iloc根据行号来索引,loc根据index来索引。

    #所以1,2,3应该用iloc,4应该有loc

    数据:d1.xlsx

    id

    name

    class

    data

    score

    201901

    A

    1

    Jan-20

    1.3

    201902

    B

    2

    Mar-20

    3.4

    201903

    C

    3

    May-20

    3.4

    201904

    D

    1

    Jan-20

    3.4

    201905

    E

    1

    Feb-20

    5.6

    201906

    F

    1

    Mar-20

    4.6

    201907

    G

    1

    Feb-19

    7.8

    201908

    H

    2

    Apr-30

    5.6

    201909

    I

    3

    Jan-42

    5.6

    201910

    G

    4

    Mar-30

    4.5

    201911

    K

    5

    Apr-20

    3.4

    201912

    L

    6

    Apr-20

    2.3

    201913

    M

    4

    Mar-20

    2.4

    运行结果展示

    watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1JpdGFBbmRXYWtha2E=,size_16,color_FFFFFF,t_70

    watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1JpdGFBbmRXYWtha2E=,size_16,color_FFFFFF,t_70

    watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1JpdGFBbmRXYWtha2E=,size_16,color_FFFFFF,t_70

    展开全文
  • pandas读取xlsx文件,编码问题

    千次阅读 2020-08-13 21:04:28
    csv是文本文件,用记事本就能打开, xlsx 是二进制的文件只有用excel才能打开,如果用记事本打开是乱码 首先,我的pandas版本为1.1.0 然后,使用pd.read_excel()读取,详细的方法参数可以看这篇博客,我就列举下其中...
    • csv是文本文件,用记事本就能打开, xlsx 是二进制的文件只有用excel才能打开,如果用记事本打开是乱码
    • 首先,我的pandas版本为1.1.0
    • 然后,使用pd.read_excel()读取,详细的方法参数可以看这篇博客,我就列举下其中的参数介绍吧:
    1. o :excel 路径;
      
    2. sheetname:默认是sheetname为0,返回多表使用sheetname=[0,1],若sheetname=None是返回全表 。注意:int/string返回的是dataframe,而none和list返回的是dict of dataframe。
      
    3. header :指定作为列名的行,默认0,即取第一行,数据为列名行以下的数据;若数据不含列名,则设定 header = None;
      
    4. skiprows:省略指定行数的数据
      
    5. skip_footer:省略从尾部数的行数据
      
    6. index_col :指定列为索引列,也可以使用 u’string’
      
    7. names:指定列的名字,传入一个list数据
      
    • [补:] 在1.1.0版本中,可能会报错ImportError: Missing optional dependency 'xlrd'. Install xlrd >= 1.0.0 for Excel support Use pip or conda to install xlrd.,那就手动安装一下pip install xlrd
    • [补:] 在刚开始的时候,我有想过是不是因为编码的原因导致pd.read_csv不能读取xlsx,所以尝试将文件转换为utf-8编码
      那么,首先就要知道文件的编码类型了,然后再用编码转换器转换就可以了
      1.我是用apt-get install enca来查的,当然了,这个enca也可以直接修改编码方式:enca -L zh_CN -x utf-8 *---->将当前路径下所有文件的编码方式改为utf-8
      2.关于编码转换,可以参考这篇博客
    展开全文
  • <p style="text-align:center"><img alt="" src=...有没有大佬能帮忙解决上图问题 用pandas读取文件的时候显示 invalid synax 救救孩子 已经尝试了很多方法都解决不了</p>
  • 今天遇到了要在搭建的Django的后台,写了一个读取xlsx文件的函数, 用pandas.read_excel(文件路径) 执行时,总是提示 Excel xlsx file; not supported错误 原因是新版本xlrd只支持.xls文件,不支持.xlsx文件。 ...

    今天遇到了要在搭建的Django的后台,写了一个读取xlsx文件的函数,
    用pandas.read_excel(文件路径)
    执行时,总是提示 Excel xlsx file; not supported错误

    原因是新版本xlrd只支持.xls文件,不支持.xlsx文件。
    查看自己xlrd版本,
    用pip show xlrd
    看版本是不是2.0.1版本?

    如果是,就装回老版本,
    用 pip install xlrd==1.2.0

    如果还不行看pandas版本更新到1.1.0

    后在windows系统也尝试了一下,xlrd版本更新到2.0.1,读取xlsx文件,也是报相同错误。
    版本改回去,就能正常执行!

    函数为:

    import pandas as pd
    def det_data():
        path = r'D:...'
        df = pd.read_excel(path)
        return df
    

    ``

    展开全文
  • 笔者在使用Mac进行Python开发时使用pandas读取xlsx文件遇到这个错误: ImportError: Missing optional dependency 'xlrd'. Install xlrd >= 1.0.0 for Excel support Use pip or conda to install xlrd. 看似...

    0x01:引子

     

    笔者在使用Mac进行Python开发时使用pandas读取xlsx文件遇到这个错误:

    ImportError: Missing optional dependency 'xlrd'. Install xlrd >= 1.0.0 for Excel support Use pip or conda to install xlrd.

    看似简单直接安装xlrd即可,实则在操作过程中并不顺利,又报出其他错误。笔者在这里分享一下自己遇到问题及解决步骤。

     

    0x02:历程

    按照提示“Use pip or conda to install xlrd.”,这里笔者使用pip安装,命令行指令如下:

    pip install xlrd

    输出为:可以看出,安装的为2.0.1版本xlrd,已满足xlrd >= 1.0.0的需求。

    (ml) bash-3.2$ pip install xlrd
    Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
    Collecting xlrd
      Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a6/0c/c2a72d51fe56e08a08acc85d13013558a2d793028ae7385448a6ccdfae64/xlrd-2.0.1-py2.py3-none-any.whl (96 kB)
         |████████████████████████████████| 96 kB 1.1 MB/s 
    Installing collected packages: xlrd
    Successfully installed xlrd-2.0.1

    可是在执行代码时,还是报出以下错误:

    (ml) bash-3.2$ python demo.py 
    Traceback (most recent call last):
      File "demo.py", line 6, in <module>
        datas = pd.read_excel("data.xlsx")
      File "/Users/song/miniforge3/envs/ml/lib/python3.8/site-packages/pandas/util/_decorators.py", line 299, in wrapper
        return func(*args, **kwargs)
      File "/Users/song/miniforge3/envs/ml/lib/python3.8/site-packages/pandas/io/excel/_base.py", line 336, in read_excel
        io = ExcelFile(io, storage_options=storage_options, engine=engine)
      File "/Users/song/miniforge3/envs/ml/lib/python3.8/site-packages/pandas/io/excel/_base.py", line 1080, in __init__
        raise ValueError(
    ValueError: Your version of xlrd is 2.0.1. In xlrd >= 2.0, only the xls format is supported. Install openpyxl instead.

    关键信息:Your version of xlrd is 2.0.1. In xlrd >= 2.0, only the xls format is supported. Install openpyxl instead.

    xlrd版本问题,大于等于2.0时,仅支持xls格式,建议安装openpyxl。

    其实有两种解决方法

    • 对xlrd进行降级用来支持xlsx
    • 安装openpyxl替代对xlrd依赖

    笔者这里选择的是对xlrd降级操作,安装1.0版本xlrd,指令:pip install xlrd==1.0

    提示:1.”==“符号用于指定版本,注意是双等于号,这里与conda单等于号不同。2.在使用pip降级安装时,不用手动卸载高版本,系统会直接替换。

    (ml) bash-3.2$ pip install xlrd==1
    Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
    Collecting xlrd==1
      Downloading https://pypi.tuna.tsinghua.edu.cn/packages/0c/b0/8946fe3f9c2690c164aaa88dfd43b56347d3cdeac34124b988acd1aaa151/xlrd-1.0.0-py3-none-any.whl (143 kB)
         |████████████████████████████████| 143 kB 150 kB/s 
    Installing collected packages: xlrd
      Attempting uninstall: xlrd
        Found existing installation: xlrd 2.0.0
        Uninstalling xlrd-2.0.0:
          Successfully uninstalled xlrd-2.0.0
    Successfully installed xlrd-1.0.0
    

    笔者这里安装了1.0版本,不太幸运的是在运行又出错了~~,如下:

    (ml) bash-3.2$ python demo.py 
    Traceback (most recent call last):
      File "demo.py", line 6, in <module>
        datas = pd.read_excel("data.xlsx")
      File "/Users/song/miniforge3/envs/ml/lib/python3.8/site-packages/pandas/util/_decorators.py", line 299, in wrapper
        return func(*args, **kwargs)
      File "/Users/song/miniforge3/envs/ml/lib/python3.8/site-packages/pandas/io/excel/_base.py", line 336, in read_excel
        io = ExcelFile(io, storage_options=storage_options, engine=engine)
      File "/Users/song/miniforge3/envs/ml/lib/python3.8/site-packages/pandas/io/excel/_base.py", line 1052, in __init__
        xlrd_version = LooseVersion(xlrd.__version__)
    AttributeError: module 'xlrd' has no attribute '__version__'

    继续设法解决,笔者考虑,可能是1.0版本过旧的缘故。笔者试着安装了1.x版本。尝试几次后,安装了1.2:

    (ml) bash-3.2$ pip install xlrd==1.8
    Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
    ERROR: Could not find a version that satisfies the requirement xlrd==1.8
    ERROR: No matching distribution found for xlrd==1.8
    (ml) bash-3.2$ pip install xlrd==1.6
    Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
    ERROR: Could not find a version that satisfies the requirement xlrd==1.6
    ERROR: No matching distribution found for xlrd==1.6
    (ml) bash-3.2$ pip install xlrd==1.2
    Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
    Collecting xlrd==1.2
      Downloading https://pypi.tuna.tsinghua.edu.cn/packages/b0/16/63576a1a001752e34bf8ea62e367997530dc553b689356b9879339cf45a4/xlrd-1.2.0-py2.py3-none-any.whl (103 kB)
         |████████████████████████████████| 103 kB 61 kB/s 
    Installing collected packages: xlrd
      Attempting uninstall: xlrd
        Found existing installation: xlrd 1.0.0
        Uninstalling xlrd-1.0.0:
          Successfully uninstalled xlrd-1.0.0
    Successfully installed xlrd-1.2.0

    此时读取就正常了。

     

    0x03:后记

     

    这个博客对你有用的话欢迎收藏转发,也麻烦可爱又爱学的你能赏个赞,菜小宋更博不易,在这里谢过啦。

    如果你想学习更多开发技巧与AI算法,欢迎搜索关注笔者公众号“简明AI”,和爱学习讨论的小伙伴一起交流学习。

    展开全文
  • xldr==2.0.1版本不支持xlsx读写,仅支持xls。详见此博客。 解决办法: (1)安装老版本xlrd pip uninstall xlrd pip install xlrd==1.2.0 (2)pd.read_excel指定engine为openpyxl df=pd.read_excel("xxx",engine...
  • refer to:dframe = pd.read_excel(“file_name.xlsx”)dframe = pd.read_excel(“file_name.xlsx”, sheetname=”Sheet_name”)dframe = pd.read_excel(“file_name.xlsx”, sheetname=number)原文如下:////////////...
  • pandas读取xlsx

    2019-07-23 16:43:00
    一、使用pandas读取xlsx  引用pandas库 import pandas as pd pd.read_excel(path, sheet_name=0, header=0, names=None, index_col=None, usecols=None, squeeze=False,dtype=None, engine=No...
  • python使用pandasxlsx文件

    千次阅读 2020-09-02 17:21:28
    python使用pandasxlsx文件 读取前n行数据 读取指定数据(指定行指定列) 获取文件行号和列标题 将数据转换为字典形式 import pandas as pd #1.读取前n行所有数据 df1=pd.read_excel('d1.xlsx...
  • 使用pandas读取xlsx

    2021-07-02 11:19:14
    一、使用pandas读取xlsx  引用pandas库 import pandas as pd pd.read_excel(path, sheet_name=0, header=0, names=None, index_col=None, usecols=None, squeeze=False,dtype=None, engine=None, converters...
  • 本篇文章给大家带来的内容是关于python中pandas和xlsxwriter读写xlsx文件的方法介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。已有xlsx文件如下:1. 读取前n行所有数据# coding: ...
  • Pandas是python的一个数据分析包,纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。一、创建Excel,写入数据importpandas as ...
  • 使用pandasxlsx文件的基本操作

    万次阅读 多人点赞 2019-03-28 15:06:09
    起因:因最近实习期间,要求查看.xlsx文件中数据是否有误,由于数据较多,想用python去执行,结果发现网上对xlsx文件操作或是太旧,大多难以应用,所以自己整理了一下,以备自己后用。 模拟一个测试数据集data_test...
  • import pandas as pd #任意的多组列表 a = [1,2,3] b = [4,5,6] #字典中的key值即为csv中列名 dataframe = pd.DataFrame({'a_name':a,'b_name':b}) #将DataFrame存储为csv,index表示是否显示行名,default=True ...
  • import pandas as pd df = pd.read_excel(r'学习\1890303.xlsx') # 行索引 print(df.index.values) # 列索引 print(df.columns.values) # 第0行 print(df.loc[0].values) # 第一行和第二行 print(df.loc[[1, 2]]....
  • 从系统导出的.xlsx 电子表,用pandas读取,第一行因为是中文,显示不了乱码,我查了这个xlsx的编码是gb2312,改成pd.read_excel(path1, encoding='gb2312')也是第一行不显示中文;但是如果把这个电子表改成.csv或者....
  • 导入pandas,并读入文件 import pandas as pd df = pd.read_excel('C:/Users/enuit/Desktop/data_test.xlsx') 读取行列数及索引 # 行数 (不包含表头,且一下均如此) print(len(df.index.values)) ...
  • pandas 读取xlsx

    2021-06-21 14:57:40
    pip install xlrd 坑
  • 今天小编就为大家分享一篇关于Python使用pandas和xlsxwriter读写xlsx文件的方法示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • pandas dataframe 读取 xlsx 文件

    千次阅读 2017-04-20 08:18:00
    https://medium.com/@kasiarachuta/reading-and-writingexcel-files-in-python-pandas-8f0da449cc48 dframe = pd.read_excel(“file_name.xlsx”) dframe = pd.read_excel(“file_name.xlsx”, sheetna...
  • DataFrame的read_excel方法类似于read_csv方法:dfs = pd.read_excel(xlsx_file, sheetname="sheet1")Help on function read_excel in module pandas.io.excel:read_excel(io, sheetname=0, header=0, skiprows=None...
  • 今天想把数据处理用pandas来处理。计划很完美。然后就在第一步read-excle中的时候就报错了。...所以pandas.read_excel(‘xxx.xlsx’)会报错。 安装旧版xlrd,在cmd中运行: pip uninstall xlrd pip ...
  • Python读取excel文件有很多方法,这里主要介绍一下xlrd包的使用...创建数据文件"product_sales.xlsx",有两个工作表"sales","price"。3.读取数据文件,并命名为workbook。workbook = xlrd.open_workbook("product_s...
  • python使用pandas和xlsxwriter读写xlsx文件

    万次阅读 多人点赞 2019-03-08 16:01:54
    已有xlsx文件如下: 1. 读取前n行所有数据 # coding: utf-8 import pandas as pd # 1. 读取前n行所有数据 df = pd.read_excel('school.xlsx')#读取xlsx中第一个sheet data1 = df.head(7) # 读取前7行的...
  • pandas读取json文件并进行刷选导出xlsx文件 原始json数据 import pandas as pd import pprint # 读取json文件 df_tv_shows = pd.read_json("datas/tv_shows.json") # 读取json文件中shows数组下所有数据 first_obj...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,681
精华内容 4,672
关键字:

pandas读取xlsx文件