我的excel文件如下所示:
X_0 X_1 y
0 2917.211242 3289.522533 0
1 1888.937716 781.528356 0
2 4188.521414 1554.476261 0
3 8145.555339 9804.066728 0
4 9584.488981 6176.337189 0
我试着像这样读取数据(即一个大列表中的列表中的每一行,不要在意示例中的实际条目):
[[3.393533211,2.331273381,0],
[3.110073483,1.781539638,0],
[1.343808831,3.368360954,0],
[3.582294042,4.67917911,0],
[2.280362439,2.866990263,0],
[7.423436942,4.696522875,1],
[5.745051997,3.533989803,1],
[9.172168622,2.511101045,1],
[7.792783481,3.424088941,1],
[7.939820817,0.791637231,1]]
到目前为止,我尝试的是:
import pandas as pd
df = pd.read_excel("nameOfMyDatabase.xlsx")
list1 = list(df['X_0'])
list2 = list(df['X_1'])
list3 = list(df['y'])
print(list1)
print(list2)
print(list3)
这是我得到的结果:
[2917.2112422149, 1888.93771568063, 4188.52141357231, 8145.55533888016, 9584.48898099062, 4039.63375666484, ....]
[3289.52253268053, 781.528355771809, 1554.47626074928, 9804.06672844197, 6176.33718886522, 167.607142550757, ....]
[0, 0, 0, 0, 0, 0, ....]
所以还不完全是我想要的,但是试错对我来说是行不通的。有什么想法吗?
发布于 2020-04-14 18:17:54
如果您只想解析Excel中的数据,而不关心使用pandas DataFrame本身,那么您应该使用openpyxl
。
例如,对于这样的电子表格:
假设您想要的电子表格是工作簿中的第一个/唯一的工作表,您可以这样做:
import openpyxl
wb = openpyxl.load_workbook("nameOfMyDatabase.xlsx")
ws = wb.active
cell_range = 'A2:C5'
data = [[cell.value for cell in row] for row in ws[cell_range]]
print(data)
# output: [[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
发布于 2020-04-14 18:22:21
您可以尝试使用
big_list = []
for a, b in zip(df["x_0"], df["x_0"]):
list = []
list.append(a)
list.append(b)
big_list = big_list.append(list)
发布于 2020-04-14 18:30:51
您可以尝试:
import pandas as pd
df = pd.read_excel("nameOfMyDatabase.xlsx")
data = df.values.tolist()
https://stackoverflow.com/questions/61214394
复制相似问题