使用 CSV 模块从 CSV 文件读取特定列:综合指南
解析 CSV 文件并从特定列中提取数据的愿望列是数据分析中的常见任务。为了深入研究这个主题,让我们考虑一个示例 CSV 文件:
ID | Name | Address | City | State | Zip | Phone | OPEID | IPEDS | 10 | C... | 130 W.. | Mo.. | AL... | 3.. | 334.. | 01023 | 10063 |
假设我们只需要捕获包含 ID、姓名、邮政编码和电话的列。
使用CSV 模块
最初,该方法是使用 row[column_number] 迭代每一行。然而,这个方法被证明是无效的。相反,我们可以使用 CSV 模块的 reader 方法并指定我们想要的列:
import csv included_cols = [1, 2, 6, 7] with open(csv_file, 'rb') as csvfile: reader = csv.reader(csvfile, delimiter=' ') for row in reader: content = list(row[i] for i in included_cols) # Print the specific columns for each row print(content)
此代码将为每行打印所需的列。
Pandas 简介
虽然上述方法有效,但 Pandas 库提供了一种更优雅的解决方案来处理 CSV 文件。使用 Pandas,读取 CSV 文件并将特定列保存到变量中非常简单:
import pandas as pd # Read the CSV file into a DataFrame df = pd.read_csv(csv_file) # Save a specific column into a variable names = df['Name']
结论
使用以下命令从 CSV 文件中读取特定列: CSV 模块,迭代行并使用列表理解来提取所需的列。如需更全面的解决方案,请考虑使用 Pandas 库,它为 CSV 文件操作提供了易于使用的 API。
以上是如何使用 CSV 模块和 Pandas 从 CSV 文件读取特定列?的详细内容。更多信息请关注PHP中文网其他相关文章!