【发布时间】: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