1.python读取excel文件
要读取Excel表格的指定行和列范围,可以使用Python中的第三方库pandas
。pandas
库提供了强大的数据分析和处理工具,包括读取和处理Excel文件的功能。以下是一个示例代码,演示了如何使用pandas
库读取Excel表格中的指定行和列范围:
import pandas as pd
# 读取Excel文件
df = pd.read_excel('path/to/excel_file.xlsx')
# 指定要读取的行和列范围
start_row = 2 # 起始行(索引为0)
end_row = 5 # 结束行
start_col = 'A' # 起始列
end_col = 'C' # 结束列
# 根据行和列范围提取数据
selected_data = df.loc[start_row:end_row, start_col:end_col]
# 打印提取的数据
print(selected_data)
在上述代码中,你需要将 'path/to/excel_file.xlsx'
替换为你要读取的Excel文件的实际路径。代码使用 pd.read_excel
函数读取Excel文件并将其存储在一个DataFrame
对象中。
然后,通过设置 start_row
和 end_row
来指定要读取的行范围,起始行索引为0。同时,使用 start_col
和 end_col
来指定要读取的列范围,以字母表示列标签。
接下来,使用 df.loc[start_row:end_row, start_col:end_col]
从DataFrame
中提取指定的行和列范围的数据,并将结果存储在 selected_data
变量中。
最后,使用 print(selected_data)
打印提取的数据。
请注意,在运行代码之前,确保已经安装了pandas
库。你可以使用以下命令安装pandas
库:
pip install pandas
2. 读取csv文件并转换为numpy数组
要读取CSV文件的指定行和列范围,同样可以使用pandas
库。pandas
库提供了灵活的方法来读取和处理CSV文件。以下是一个示例代码,演示了如何使用pandas
库读取CSV文件中的指定行和列范围:
2.1 读取csv文件
import pandas as pd
# 读取CSV文件
df = pd.read_csv('path/to/csv_file.csv')
# 指定要读取的行和列范围
start_row = 2 # 起始行(索引为0)
end_row = 5 # 结束行
start_col = 0 # 起始列(索引为0)
end_col = 2 # 结束列
# 根据行和列范围提取数据
selected_data = df.iloc[start_row:end_row+1, start_col:end_col+1]
# 打印提取的数据
print(selected_data)
在上述代码中,你需要将 'path/to/csv_file.csv'
替换为你要读取的CSV文件的实际路径。代码使用 pd.read_csv
函数读取CSV文件并将其存储在一个DataFrame
对象中。
然后,通过设置 start_row
和 end_row
来指定要读取的行范围,起始行索引为0。同时,使用 start_col
和 end_col
来指定要读取的列范围,起始列索引为0。
接下来,使用 df.iloc[start_row:end_row+1, start_col:end_col+1]
从DataFrame
中提取指定的行和列范围的数据,并将结果存储在 selected_data
变量中。这里需要注意,end_row+1
和 end_col+1
是为了包括指定的结束行和结束列。
最后,使用 print(selected_data)
打印提取的数据。
请注意,在运行代码之前,确保已经安装了pandas
库。你可以使用以下命令安装pandas
库:
pip install pandas
另外,需要根据实际的CSV文件的分隔符,使用read_csv
函数的sep
参数来指定分隔符,例如:pd.read_csv('path/to/csv_file.csv', sep=',')
,如果CSV文件使用的是逗号作为分隔符。默认情况下,read_csv
函数会使用逗号作为分隔符。
2.2 转换为numpy数组
要将pandas
库读取的数据转换为NumPy数组,可以使用values
属性。以下是修改后的示例代码:
import pandas as pd
import numpy as np
# 读取CSV文件
df = pd.read_csv('path/to/csv_file.csv')
# 指定要读取的行和列范围
start_row = 2 # 起始行(索引为0)
end_row = 5 # 结束行
start_col = 0 # 起始列(索引为0)
end_col = 2 # 结束列
# 根据行和列范围提取数据
selected_data = df.iloc[start_row:end_row+1, start_col:end_col+1]
# 将提取的数据转换为NumPy数组
array_data = selected_data.values
# 打印转换后的NumPy数组
print(array_data)
在上述代码中,使用selected_data.values
将selected_data
转换为NumPy数组,并将结果存储在array_data
变量中。然后,使用print(array_data)
打印转换后的NumPy数组。
请确保已经安装了NumPy库。你可以使用以下命令安装NumPy库:
pip install numpy
这样,你就可以将pandas
读取的数据转换为NumPy数组进行后续的数据处理和分析。
2.3 实例
终端打印
(nerf) biter@biter:~/dataset/newer_college/transform_format$ python read_excel.py
x y z qx qy qz qw
2 -3.34605 8.24457 0.138331 0.003850 0.003713 -0.605999 0.795447
3 -3.35150 8.24461 0.141933 0.003800 0.003917 -0.605870 0.795545
4 -3.34477 8.24422 0.141572 0.003592 0.003960 -0.606074 0.795390
5 -3.35222 8.24647 0.137599 0.003687 0.003883 -0.605986 0.795458
[[-3.34605e+00 8.24457e+00 1.38331e-01 3.84963e-03 3.71254e-03
-6.05999e-01 7.95447e-01]
[-3.35150e+00 8.24461e+00 1.41933e-01 3.80030e-03 3.91695e-03
-6.05870e-01 7.95545e-01]
[-3.34477e+00 8.24422e+00 1.41572e-01 3.59196e-03 3.95955e-03
-6.06074e-01 7.95390e-01]
[-3.35222e+00 8.24647e+00 1.37599e-01 3.68695e-03 3.88267e-03
-6.05986e-01 7.95458e-01]]