【发布时间】:2017-09-05 18:44:40
【问题描述】:
能够以类似于 excel 的方式定义范围,即“A5:B10”对我需要的内容很重要,因此将整个工作表读取到数据框并不是很有用。
所以我需要做的是将 Excel 工作表中多个范围的值读取到多个不同的数据框。
valuerange1 = ['a5:b10']
valuerange2 = ['z10:z20']
df = pd.DataFrame(values from valuerange)
df = pd.DataFrame(values from valuerange1)
或
df = pd.DataFrame(values from ['A5:B10'])
我已经搜索过,但要么我的搜索工作做得很差,要么其他人都解决了这个问题,但我真的做不到。
谢谢。
【问题讨论】:
-
所以澄清一下,您想要实现的是在 pandas DataFrame 中加载 excel 工作表的一部分?或者您是否需要以类似 excel 的语法选择部分数据框?
-
我刚刚编辑了帖子。希望这能回答您的问题,但要澄清一下,我需要将部分 excel 工作表加载到不同的数据框中。
-
从您的评论来看,我是否理解正确,不能将完整的 excel 文件加载到内存中?
-
如果这是您所指的,我可以使用 openpyxl.load_workbook。我目前正在使用 panads.read_excel 加载整个工作表。然后我将这个数据框的多个范围定义为我需要的数据的值。这很麻烦,因为我需要手动找出我需要哪些行和列,但这不是最大的问题。我试图使这个脚本非常用户友好,这意味着排除 excel 范围而不是使用 iloc。
-
我对我的答案进行了编辑,显示了一个使用 openpyxl 的非常用户友好的解决方案。
标签: python excel python-3.x pandas openpyxl