使用 pandas 在 python 中读取 Excel 文件

新手上路,请多包涵

我正在尝试以这种方式读取 excel 文件:

 newFile = pd.ExcelFile(PATH\FileName.xlsx)
ParsedData = pd.io.parsers.ExcelFile.parse(newFile)

这会抛出一个错误,指出需要两个参数,我不知道第二个参数是什么,而且我在这里想要实现的是将 Excel 文件转换为 DataFrame,我这样做的方式正确吗?或者有没有其他方法可以使用熊猫来做到这一点?

原文由 Rakesh Adhikesavan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 317
2 个回答

关闭:首先调用 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  \
0 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)

原文由 DSM 发布,翻译遵循 CC BY-SA 3.0 许可协议

这是非常简单易行的方法。

 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)

查看文档的完整详细信息 http://pandas.pydata.org/pandas-docs/version/0.17.1/generated/pandas.read_excel.html

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

原文由 Murali Mopuru 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题