使用 pandas 在 python 中读取 Excel 文件

2025-01-22 08:45:00
admin
原创
143
摘要:问题描述:我正在尝试通过以下方式读取 Excel 文件:newFile = pd.ExcelFile(PATHFileName.xlsx) ParsedData = pd.io.parsers.ExcelFile.parse(newFile) 这会引发一个错误,提示需要两个参数,但我不知道第二个参数是什么,而...

问题描述:

我正在尝试通过以下方式读取 Excel 文件:

newFile = pd.ExcelFile(PATHFileName.xlsx)
ParsedData = pd.io.parsers.ExcelFile.parse(newFile)

这会引发一个错误,提示需要两个参数,但我不知道第二个参数是什么,而且我在这里试图实现的是将 Excel 文件转换为 DataFrame,我这样做对吗? 或者有没有其他方法可以使用 Pandas 来做到这一点?


解决方案 1:

关闭:首先调用ExcelFile,然后调用.parse方法并将工作表名称传递给它。

>>> xl = pd.ExcelFile("dummydata.xlsx")
>>> xl.sheet_names
[u'Sheet1', u'Sheet2', u'Sheet3']
>>> df = xl.parse("Sheet1")
>>> df.head()
                  Tid  dummy1    dummy2    dummy3    dummy4    dummy5  \n0 2006-09-01 00:00:00       0  5.894611  0.605211  3.842871  8.265307   
1 2006-09-01 01:00:00       0  5.712107  0.605211  3.416617  8.301360   
2 2006-09-01 02:00:00       0  5.105300  0.605211  3.090865  8.335395   
3 2006-09-01 03:00:00       0  4.098209  0.605211  3.198452  8.170187   
4 2006-09-01 04:00:00       0  3.338196  0.605211  2.970015  7.765058   

     dummy6  dummy7    dummy8    dummy9  
0  0.623354       0  2.579108  2.681728  
1  0.554211       0  7.210000  3.028614  
2  0.567841       0  6.940000  3.644147  
3  0.581470       0  6.630000  4.016155  
4  0.595100       0  6.350000  3.974442  

您所做的是调用类本身中的方法,而不是实例,这是可以的(虽然不是很惯用),但如果您这样做,您还需要传递工作表名称:

>>> parsed = pd.io.parsers.ExcelFile.parse(xl, "Sheet1")
>>> parsed.columns
Index([u'Tid', u'dummy1', u'dummy2', u'dummy3', u'dummy4', u'dummy5', u'dummy6', u'dummy7', u'dummy8', u'dummy9'], dtype=object)

解决方案 2:

这是一个非常简单且容易的方法。

import pandas
df = pandas.read_excel(open('your_xls_xlsx_filename','rb'), sheetname='Sheet 1')
# or using sheet index starting 0
df = pandas.read_excel(open('your_xls_xlsx_filename','rb'), sheetname=2)

查看文档的完整详细信息。

FutureWarning:该sheetname关键字在较新的 Pandas 版本中已被弃用,请改用sheet_name

解决方案 3:

我想我应该在这里补充一点,如果您想访问行或列来循环遍历它们,您可以这样做:

import pandas as pd

# open the file
xlsx = pd.ExcelFile("PATHFileName.xlsx")

# get the first sheet as an object
sheet1 = xlsx.parse(0)
    
# get the first column as a list you can loop through
# where the is 0 in the code below change to the row or column number you want    
column = sheet1.icol(0).real

# get the first row as a list you can loop through
row = sheet1.irow(0).real

编辑:

方法icol(i)irow(i)现已弃用。您可以使用sheet1.iloc[:,i]获取第 i 个列和sheet1.iloc[i,:]获取第 i 个行。

解决方案 4:

我认为这应该可以满足你的需要:

import pandas as pd

# Read the excel sheet to pandas dataframe
df = pd.read_excel("PATHFileName.xlsx", sheet_name=0) #corrected argument name

解决方案 5:

这是更新的方法,其语法在 Python 代码中更常见。它还可以防止您多次打开同一个文件。

import pandas as pd

sheet1, sheet2 = None, None
with pd.ExcelFile("PATHFileName.xlsx") as reader:
    sheet1 = pd.read_excel(reader, sheet_name='Sheet1')
    sheet2 = pd.read_excel(reader, sheet_name='Sheet2')

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_excel.html

解决方案 6:

你只需要将文件路径输入到pd.read_excel

import pandas as pd

file_path = "./my_excel.xlsx"
data_frame = pd.read_excel(file_path)

查看文档以探索skiprows加载 Excel 时忽略行等参数

解决方案 7:

import pandas as pd

data = pd.read_excel (r'**YourPath**.xlsx')

print (data)

解决方案 8:

加载 Excel 文件时不明确命名工作表,而是提供工作表顺序号(通常只需加载第一个工作表),如下所示:

import pandas as pd
myexcel = pd.ExcelFile("C:/filename.xlsx")
myexcel = myexcel.parse(myexcel.sheet_names[0])

由于.sheet_names返回工作表名称列表,因此只需调用列表元素即可轻松加载一个或多个工作表。

解决方案 9:

这些都对我有用

In [1]: import pandas as pd

In [2]: df = pd.read_excel('FileName.xlsx') # If there is only one sheet in the excel file

In [3]: df = pd.read_excel('FileName.xlsx', sheet_name=0)

In [4]: In [20]: df = pd.read_excel('FileName.xlsx', sheet_name='Sheet 1')

解决方案 10:

加载pandas库

将 pandas 导入为 pd

设置文件所在路径

路径 = “./myfile.xlsx”

将文件加载到数据框 df 中

df = pd.read_excel(路径)

检查前5行

df.head(5)

相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   3016  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1880  
  信息系统项目管理中的成本控制与优化策略在整个项目的成功实施中扮演着至关重要的角色。有效的成本控制与优化不仅能够确保项目在预算范围内完成,还能提升项目的整体质量和效益,增强企业在市场中的竞争力。随着信息技术的飞速发展,信息系统项目的规模和复杂性不断增加,成本管理面临着更多的挑战和机遇。因此,深入探讨信息系统项目管理中的成...
项目部管理制度   0  
  项目管理制度是确保项目顺利推进、达成目标的重要保障。然而,在实际实施过程中,常常会遇到各种各样的问题,这些问题若不及时解决,可能会导致项目进度延迟、成本超支、质量下降等不良后果。深入剖析这些常见问题,并探寻切实可行的解决方案,对于提升项目管理水平、保障项目成功至关重要。制度理解与沟通问题在项目管理制度实施初期,团队成员...
项目管理的主要内容包括   0  
  项目管理中的风险管理是确保项目顺利推进、达成目标的关键环节。有效的风险管理策略能够帮助项目团队提前识别潜在风险,制定应对措施,降低风险发生的可能性及其带来的负面影响。以下将详细阐述项目管理中风险管理的7个实用策略。风险规划风险规划是风险管理的基础,它为整个风险管理过程设定了方向和框架。在这一阶段,项目团队需要明确风险管...
工程项目管理总结   0  
热门文章
项目管理软件有哪些?
曾咪二维码

扫码咨询,免费领取项目管理大礼包!

云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用