【问题标题】:Turning a pandas dataframe from Excel file (xlrd) to a list将 Pandas 数据框从 Excel 文件 (xlrd) 转换为列表
【发布时间】:2020-06-21 02:04:29
【问题描述】:

我是 Python 新手。我从 excel 文件中读取数据。如何将列变成列表?该列是 pandas 数据框的一部分,由 xlrd 包从 xlsx 文件中读取。任何更好的解决问题的方法也值得赞赏。

import pandas as pd
import xlrd
workbook = xlrd.open_workbook("MyData_XYZ.xlsx")
sheet1 = workbook.sheet_by_index(0)

def get_cell_range2(sheet, start_col, start_row, end_col,  end_row):
    return [sheet.row_slice(row, start_colx=start_col-1, end_colx=end_col) for row in range(start_row-1, end_row)]

er_aaa = get_cell_range2(sheet1, 1, 2, 2,  67)
er_aaa_df = pd.DataFrame(er_aaa, columns= ['date', 'aaa'])
raw_seq = list(er_aaa_df['aaa'])

我在 Spyder 中得到了这个

raw_seq
Out[61]: 
0     number:25.405
1     number:25.427
2     number:25.411
3     number:25.423
4      number:25.45

61    number:26.054
62     number:26.09
63    number:26.103
64      number:26.1
65     number:26.03
Name: aaa, Length: 66, dtype: object

如何将结果变成一个简单的列表,即,

[25.405, 25.427, 25.411, ...... 26.03]

谢谢!!

【问题讨论】:

  • 试试pd.to_numeric(er_aaa_df['aaa'].str.extract('([\d\.]+)', expand=False), errors='coerce').tolist()

标签: python excel pandas dataframe xlrd


【解决方案1】:

如果我理解正确,您想从 xlsx 读取数据并获取其中一列。您可以通过以下方式获取。

df = pd.read_excel("MyData_XYZ.xlsx")

list = df['aaa'].tolist()

【讨论】:

    【解决方案2】:

    你为什么不直接使用:data=pd.read_excel("MyData_XYZ.xlsx", header=1),见this link 然后您可以使用data['number'] 选择您的值。但小心这仍然是一个数据框对象,如果你想要一个纯列表,只需list( data['number'])

    【讨论】:

      猜你喜欢
      • 2021-05-26
      • 1970-01-01
      • 2017-06-22
      • 2021-03-22
      • 2012-09-16
      • 2020-09-02
      • 2021-01-22
      • 2021-02-09
      • 2018-03-25
      相关资源
      最近更新 更多