使用 csv 模块从 csv 文件读取特定列?

2024-01-03

我正在尝试解析 csv 文件并仅从特定列中提取数据。

示例 csv:

ID | Name | Address | City | State | Zip | Phone | OPEID | IPEDS |
10 | C... | 130 W.. | Mo.. | AL... | 3.. | 334.. | 01023 | 10063 |

我试图仅捕获特定的列,例如ID, Name, Zip and Phone.

我看过的代码让我相信我可以通过相应的编号来调用特定的列,所以即:Name将对应于2并使用迭代每一行row[2]会产生第 2 列中的所有项目。只是它不会。

这是我到目前为止所做的:

import sys, argparse, csv
from settings import *

# command arguments
parser = argparse.ArgumentParser(description='csv to postgres',\
 fromfile_prefix_chars="@" )
parser.add_argument('file', help='csv file to import', action='store')
args = parser.parse_args()
csv_file = args.file

# open csv file
with open(csv_file, 'rb') as csvfile:

    # get number of columns
    for line in csvfile.readlines():
        array = line.split(',')
        first_item = array[0]

    num_columns = len(array)
    csvfile.seek(0)

    reader = csv.reader(csvfile, delimiter=' ')
        included_cols = [1, 2, 6, 7]

    for row in reader:
            content = list(row[i] for i in included_cols)
            print content

我希望这只会打印出我想要的每行的特定列,但它不会,我只得到最后一列。


从此代码中获取最后一列的唯一方法是不包含 print 语句in your for loop.

这很可能是代码的结尾:

for row in reader:
    content = list(row[i] for i in included_cols)
print content

你希望它是这样的:

for row in reader:
        content = list(row[i] for i in included_cols)
        print content

现在我们已经纠正了您的错误,我想借此机会向您介绍pandas http://pandas.pydata.org/ module.

Pandas 在处理 csv 文件方面表现出色,您只需使用以下代码即可读取 csv 并将整列保存到变量中:

import pandas as pd
df = pd.read_csv(csv_file)
saved_column = df.column_name #you can also use df['column_name']

所以如果您想保存列中的所有信息Names到一个变量中,这就是您需要做的:

names = df.Names

这是一个很棒的模块,我建议您研究一下。如果由于某种原因您的打印声明位于for循环,它仍然只打印出最后一列,这不应该发生,但请告诉我我的假设是否错误。您发布的代码有很多缩进错误,因此很难知道什么应该在哪里。希望这有帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 csv 模块从 csv 文件读取特定列? 的相关文章

随机推荐

  • 裁剪、调整大小和缩放图像之间有什么区别?

    我正在使用 Perl 的Image Imlib2 https metacpan org pod Image Imlib2包从较大的图像生成缩略图 我之前曾使用多个 ImageMagick 接口 PHP Ruby Python 完成过此类任务
  • 添加权利文件时,权利无效 0xE8008016

    我正在尝试进行临时分发 当我使用 XCode 时 该应用程序在我的手机上安装得很好 为了准备临时分发 我创建了默认权利文件 取消选中 get task allow 框 将权利文件名添加到代码签名权利行 并尝试在我的手机上安装 如果我在构建设
  • 如何在Interface Builder中实现视觉效果视图?

    如何在 Interface Builder 中使用具有模糊和活力的视觉效果视图 我已将此项目拖到视图中 然后拖动UILabel到层次结构中的最后一个视图 充满活力的效果contentView我假设 这会导致顶部视图模糊 但没有可见的标签 我
  • 如何使用 CakePHP 模型中的电子邮件组件?

    我有一个非常简单的模型 我想将发送电子邮件例程添加到模型的方法之一 this gt Email gt delivery smtp this gt Email gt template default this gt Email gt send
  • 初始化忽略构造函数模板

    在追查一些错误时 我偶然发现了以下初始化行为 这对我来说似乎很奇怪 在对现有构造函数进行初始化检查时 似乎存在忽略拟合构造函数的模板的情况 例如 考虑以下程序 include
  • 笑话 - 有没有办法检查测试覆盖率的百分比?

    我使用以下命令来运行测试并获取覆盖率报告 jest coverage 现在我想检查我的脚本文件中的覆盖率是否超过 90 我应该怎么办 您可以使用coverageThresholdJest 配置中的选项 https jestjs io doc
  • 如何禁用 Highcharts 中的悬停颜色更改?

    我正在为我的项目使用柱形图 我编写了一个自定义函数 根据 y 值对图表的每个条形进行着色 当我初始化图表时 这工作得很好 当我将鼠标悬停在图表上时 条形的颜色将恢复为默认值 而我的自定义颜色永远不会返回 我尝试过禁用悬停 但这似乎不起作用
  • 从ear/lib/jar 中的ear/war 获取类返回ClassNotFoundException

    我的项目结构如下 服务器是 Glassfish 4 IDE netbeans 7 4 项目 temp 由项目 a 使用 EAR lib temp jar a war Temp jar包含核心类 它们被战争所利用 Temp jar不会从 wa
  • 权限被拒绝(公钥)。致命:远程端在推回到 git 存储库时意外挂起[重复]

    这个问题在这里已经有答案了 可能的重复 github 新手问题 gt 权限被拒绝 公钥 fatal 远端意外挂断 https stackoverflow com questions 3617113 github newbie problem
  • MYSQL PHP - 获取 float LIKE $float

    我想要像我这样的带有浮点数的行 float 我使用了这段代码 float GET float requst mysql fetch array mysql query SELECT FROM floats WHERE float LIKE
  • 如何添加透视监听器

    在我们的应用程序中 我们有 4 个视图 视图 1 2 3 和 4 和 3 个视角 视角 1 2 和 3 观点是通过实施来建立的IPerspectivefactory视图是通过扩展viewPart来构建的 我们面临着这样一种情况 在选择任何视
  • 如何从我的iPhone App文档目录中选择所有图像

    我有一个包含一堆图像的文件夹 我想将所有图像的名称添加到一个数组中 这些图像位于应用程序上我的文档的文件夹中 请参阅屏幕截图 我知道如果我想获得这些图像之一 我会使用以下代码 NSArray paths NSSearchPathForDir
  • 在 Linux fork 期间防止文件描述符继承

    如何防止文件描述符被复制继承fork 系统调用 当然不关闭它 我正在寻找一种标记方法单个文件描述符 as 不被 复制 继承由孩子们在fork 类似 FD CLOEXEC 之类的 hack 但适用于 fork 如果您愿意 可以使用 FD DO
  • PyCharm 4 - Django 控制台消失了

    3 4 中的 PyCharm 中同时具有 python 和 django 控制台菜单选项 刚刚切换到 PyCharm 4 Django Console 条目就消失了 我必须在某处激活它吗 尝试在 python 控制台中运行 django 代
  • 在 Jquery 中,如何找出被单击元素的“eq”?

    当单击 uploadChoice 内的 div 之一时 如何确定单击了哪一个 我可以以某种方式返回 eq 值吗 div div Text div div ImageText Image div div uploadChoice div cl
  • 如何在四开中格式化选项卡集字体?

    我有以下带有 2 个选项卡的 qmd 文件 我想更改选项卡文本字体样式和大小 我该怎么办 title Cars title block banner true format html code fold true page layout f
  • 使用 JavaScript 选择一个段落(单击时)?

    是否可以选择一个元素的所有文本 例如 一个段落 p 与 JavaScript 很多人认为 jQuery select 会这样做 但事实并非如此 它只是触发一个事件 请注意 DOM 对象 p
  • influxdb:计算布尔事件的持续时间?

    我的 influxdb 数据库中有来自门传感器的数据 这是一个布尔传感器 门是否打开 值为false 或者它被关闭 值为true 表格如下所示 name door time value 1506026143659488953 true 15
  • ModuleNotFoundError:PyCharm 中没有名为“requests”的模块

    我在 PyCharm 中有一个 python 代码 我正在使用 导入请求 但终端向我显示以下错误 venv ahmad Ahmad Desktop Spiders python test py 回溯 最近一次调用最后一次 文件 test p
  • 使用 csv 模块从 csv 文件读取特定列?

    我正在尝试解析 csv 文件并仅从特定列中提取数据 示例 csv ID Name Address City State Zip Phone OPEID IPEDS 10 C 130 W Mo AL 3 334 01023 10063 我试图