在Python中读取CSV文件的指定列(没有列名),可以通过列的索引位置来实现
方法1(无列名):
1)使用内置 csv 库
如果CSV文件没有列名,直接通过列的索引(从0开始)读取指定列。
import csv
# 读取CSV文件并提取第2列和第4列(索引1和3)
target_columns = [1, 3]
data = []
with open('data.csv', 'r', newline='', encoding='utf-8') as file:
reader = csv.reader(file)
for row in reader:
# 确保行有足够的列
if len(row) > max(target_columns):
selected = [row[i] for i in target_columns]
data.append(selected)
#输出提取列
for row in data:
print(row)
csv文件数据:

输出结果:
2)使用 pandas 库
适用于需要高效处理大规模数据的场景。
需要先安装pandas库
pip install pandas
不行换下面这个命令
python -m pip install pandas
代码演示:
import pandas as pd
# 读取CSV文件
df = pd.read_csv('data.csv', header=None) # header=None表示没有列名
# 提取第2列和第4列
target_columns = [1, 3]
selected_data = df.iloc[:, target_columns]
# 输出
print(selected_data.head())
csv文件数据:

输出结果:

方法2(有列名):
1)使用内置 csv 库
通过列名找到索引,再根据索引提取数据。
import csv
# 读取CSV文件并提取指定列
target_columns = ["Price", "Category"] #选择要提取列的列名
data = []
with open('data.csv', 'r', newline='', encoding='utf-8') as file:
reader = csv.DictReader(file) # 使用 DictReader 自动解析列名
# 提取数据
for row in reader:
selected = {col: row[col] for col in target_columns}
data.append(selected)
# 输出
for item in data:
print(item)
csv文件数据:

输出结果:

2)使用 pandas 库
直接通过列名提取数据,代码更简洁。
记得安装pandas库
pip install pandas
不行换下面这个命令
python -m pip install pandas
代码演示:
import pandas as pd
# 读取CSV文件(自动识别列名)
df = pd.read_csv('data.csv')
# 提取指定列
target_columns = ["name", "Color"]
selected_data = df[target_columns]
print(selected_data.head())
csv文件数据:
输出结果:


5733

被折叠的 条评论
为什么被折叠?



