【问题标题】:How to read from xlsx file and storing specific column values into an array in python?如何从 xlsx 文件中读取并将特定列值存储到 python 中的数组中?
【发布时间】:2015-09-10 00:51:49
【问题描述】:

您好社区我正在尝试弄清楚如何从 xlsx 文件中读取数据并将其存储到数组中。我可以下载在 python27 上执行此操作的最佳库是什么?

我想弄清楚如何读取特定列,将列中的值获取到某个单元格,然后将其存储到数组中?

示例:对于我的线性回归分析,我有一个 Y 变量和一个多变量 X 方程。

Y 值将从特定列中读取

例如:

y= [1,2,3,4,3,4,5,4,5,5,4,5,4,5,4,5,6,5,4,5,4,3,4] #<-specific column

其中作为多变量 X 值将从多列中读取数据值

例如:

 x = [
    [4,2,3,4,5,4,5,6,7,4,8,9,8,8,6,6,5,5,5,5,5,5,5],      #<-specific column
     [4,1,2,3,4,5,6,7,5,8,7,8,7,8,7,8,7,7,7,7,7,6,5],      #<-specific column
     [4,1,2,5,6,7,8,9,7,8,7,8,7,7,7,7,7,7,6,6,4,4,4]       #<-specific column
     ]

谢谢

【问题讨论】:

  • 那台机器上有 Excel 吗?
  • 我的机器上有excel
  • 您可以按照建议使用openpyxl,但我发现它有问题。因此,如果您可以使用 Excel 来完成这项工作,请使用 Excel。或者导出到 csv 并直接使用名为 csv 的模块。一些如何在 Python 中使用 Excel 的信息:pythonexcels.com/basic-excel-driving-with-python

标签: python arrays excel regression


【解决方案1】:

Pandas 对于这种类型的操作非常有用。

import pandas as pd
xl_workbook = pd.ExcelFile("my_data.xlsx")  # Load the excel workbook
df = xl_workbook.parse("Sheet 1")  # Parse the sheet into a dataframe
x1_list = df['x1'].tolist()  # Cast the desired column into a python list

具体来说,当您通过列索引调用 df 时,它会返回一个 Numpy 系列,而 .tolist() 会将其强制转换为 python 列表。

【讨论】:

  • 学习使用或开始使用 Pandas 可能比 Win32Com 有用得多,特别是如果您计划在未来处理大量数据时。虽然,后者 也非常有用。另一方面,openpyxl 或多或少没用,除非您有非常强烈的动机使用 OpenOffice Calc。
【解决方案2】:

您可以使用openpyxl 并且应该在他们的documenation 中找到所有需要的信息

【讨论】:

    【解决方案3】:

    另一个选项是Win32Com。我已经将它与 python 2.7 一起使用来处理 Excel 和 Word 文件。

    【讨论】:

      猜你喜欢
      • 2015-01-22
      • 1970-01-01
      • 1970-01-01
      • 2016-04-07
      • 2013-07-20
      • 2015-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多