python(11):python读取excel、csv文件

1.python读取excel文件

要读取Excel表格的指定行和列范围,可以使用Python中的第三方库pandaspandas库提供了强大的数据分析和处理工具,包括读取和处理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_rowend_row 来指定要读取的行范围,起始行索引为0。同时,使用 start_colend_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_rowend_row 来指定要读取的行范围,起始行索引为0。同时,使用 start_colend_col 来指定要读取的列范围,起始列索引为0。

接下来,使用 df.iloc[start_row:end_row+1, start_col:end_col+1]DataFrame中提取指定的行和列范围的数据,并将结果存储在 selected_data 变量中。这里需要注意,end_row+1end_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.valuesselected_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]]

猜你喜欢

转载自blog.csdn.net/BIT_HXZ/article/details/131304032