【问题标题】:Using Pandas with Idle在空闲时使用 Pandas
【发布时间】:2018-09-12 23:53:25
【问题描述】:

我在 spyder 中编写的代码在 python (3.6) IDLE 中不起作用。

import pandas as pd

df = pd.read_excel('file.xlsx', usecols = ['A','B'])
print(df)

这应该打印 DF 但它只打印一个空帧。我已经安装了 Pandas 和 xlrd。如何在 IDLE 中进行这项工作?

编辑:

这是excel表格。

Edit2:这是输出。

Empty DataFrame
Columns: []
Index: []

当我尝试编写带有 DF 错误的代码时。

代码示例:

keylist = []
list1, list2 = df['A'].tolist(), df['B'].tolist()

for i in zip(list1, list2):
    val = map(str, i)
    keylist.append('/'.join(val))

print(keylist)

KeyError: 'A'

我认为 python 试图用一个空的 DF 做一些事情。但是我怎样才能让它正确读取excel文件呢?

【问题讨论】:

  • 你可以从 excel 文件中发布你的示例数据吗?
  • 您遇到任何错误?
  • 你可能没有安装pandas,所以我想说要么安装它,要么使用包含所有必需库的Anaconda
  • 我已经用pip安装了pandas,之前用过hm...,我现在正在下载Anaconda
  • @Abhishakegupta ,usecols 参数错误。请看下面的答案\

标签: python pandas spyder python-idle


【解决方案1】:

如果使用列名,我认为usecols 需要是字符串:

df = pd.read_excel('file.xlsx', usecols = 'A,B')

我已经对此进行了测试,如上所述是这种情况。

来自文档:

usecols : int 或 list,默认无

如果 None 则解析所有列,如果 int 则表示最后一列 被解析 如果整数列表则表示要被解析的列号列表 parsed If string then 表示 Excel 列的逗号分隔列表 字母和列范围(例如“A:E”或“A,C,E:F”)。范围是 包括双方。

【讨论】:

  • 这有帮助!谢谢!这很奇怪,因为在 Spyder/Anaconda 中它在 [] 中工作,但在 IDLE 中却没有。
  • 很高兴,它有帮助。
猜你喜欢
  • 2010-10-29
  • 2013-01-13
  • 2018-11-16
  • 2012-10-04
  • 1970-01-01
  • 1970-01-01
  • 2012-10-02
  • 2019-10-17
相关资源
最近更新 更多