python - 如何读取csv文件并提取特定列?

标签 python csv dataframe

这是我的 csv 文件:

CommitId                                RefactoringType      RefactoringDetail
d38f7b334856ed4007fb3ec0f8a5f7499ee2f2b8    Pull Up Attribute   "Pull Up Attribute  protected steps : int from class blokusgame.mi.android.hazi.blokus.GameLogic.PlayerAlgorithm to class blokusgame.mi.android.hazi.blokus.GameLogic.Player"
d38f7b334856ed4007fb3ec0f8a5f7499ee2f2b8    Pull Up Attribute   "Pull Up Attribute  protected steps : int from class blokusgame.mi.android.hazi.blokus.GameLogic.PlayerAlgorithm to class blokusgame.mi.android.hazi.blokus.GameLogic.Player"
d38f7b334856ed4007fb3ec0f8a5f7499ee2f2b8    Pull Up Attribute   "Pull Up Attribute  protected steps : int from class blokusgame.mi.android.hazi.blokus.GameLogic.PlayerAlgorithm to class blokusgame.mi.android.hazi.blokus.GameLogic.Pla

我需要提取这个:

RefactoringDetail
"Pull Up Attribute  protected steps : int from class blokusgame.mi.android.hazi.blokus.GameLogic.PlayerAlgorithm to class blokusgame.mi.android.hazi.blokus.GameLogic.Player"
"Pull Up Attribute  protected steps : int from class blokusgame.mi.android.hazi.blokus.GameLogic.PlayerAlgorithm to class blokusgame.mi.android.hazi.blokus.GameLogic.Player"
"Pull Up Attribute  protected steps : int from class blokusgame.mi.android.hazi.blokus.GameLogic.PlayerAlgorithm to class blokusgame.mi.android.hazi.blokus.GameLogic.Player"

我试过这段代码:

import pandas as pd
df = pd.read_csv('result_refactorings.csv', sep='delimiter', header=None)
df.iloc[:,-1]

返回所有数据

请帮忙!

最佳答案

如果您只想使用内置的 csv 模块:

import csv
import re
third_column = []
with open("result_refactorings.csv") as csvfile:
    fixed_spaces = [re.sub(" {2,}","\t",x) for x in csvfile]
    reader = csv.DictReader(fixed_spaces, delimiter="\t")
    for row in reader:
        print(row["RefactoringDetail"])
        third_column.append(row["RefactoringDetail"])

此代码既打印出第三列,又将第三列中的每个项目添加到列表 third_column.. 根据你想做什么,取出一个或另一个。

编辑:仔细检查后,您的 csv 输入似乎用不均匀数量的空格分隔。实际上不是制表符,这就是它的样子。添加了一个小正则表达式来用实际的替换 2 个或更多并发空格选项卡.. 因为在当前状态下它不是有效的 csv。

关于python - 如何读取csv文件并提取特定列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56354649/

相关文章:

ruby-on-rails - 如何在csv中查找特定行

python - 如何在 docker-py 中绑定(bind)卷?

python - 对 RGB 颜色分量执行 Sobel 滤镜

python, mechanize - 使用 mechanize 打开文本文件

powershell - 如何使用Powershell将csv文件转换为小写或大写,以保持其结构?

javascript - 如何将 blob 转换为 xlsx 或 csv?

r - 基于其他两个数据框创建面板数据框

python - 在数据框末尾添加 3 个重复列

r - 将一个小的随机样本从一个大的 csv 文件加载到 R 数据框中

python - 在Docker客户端本地执行python脚本-无卷