当前位置: 首页 > 知识库问答 >
问题:

读取CSV的单个列并存储在数组中

赵晟睿
2023-03-14

从csv中读取内容的最佳方式是什么,但只能读取一个特定列,如标题

ID | date|  title |
-------------------
  1|  2013|   abc |
  2|  2012|   cde |

然后,该列应存储在如下数组中:

data = ["abc", "cde"]

到目前为止,我对熊猫的看法是:

data = pd.read_csv("data.csv", index_col=2)

我已经研究过这条线了。我仍然得到一个索引器:列表索引超出范围

编辑:

这不是一张表,它是逗号分隔的,如下所示:

ID,date,title
1,2013,abc
2,2012,cde

共有3个答案

尹正奇
2023-03-14

最后,它要简单得多:

import pandas as pd
data = pd.read_csv("mycsv.csv")
data.columns = ["ID", "date", "title"]
rawlist = list(data.title)
冯招
2023-03-14

您可以这样做:

>>> import pandas as pd
>>> from StringIO import StringIO
>>> txt='''\
... ID,date,title
... 1,2013,abc
... 2,2012,cde'''
>>> data=pd.read_csv(StringIO(txt), usecols=['title']).T.values.tolist()[0]
>>> data
['abc', 'cde']

或者,假设您有一些空格:

txt='''\
ID,date,title
1,2013,abc
2,2012,cde
3,2014, 
4,2015,fgh'''
table=pd.read_csv(StringIO(txt), usecols=['title'])
print table
  title
0   abc
1   cde
2      
3   fgh
data=pd.read_csv(StringIO(txt), usecols=['title']).T.values.tolist()[0]
print data
['abc', 'cde', ' ', 'fgh']

或者,如果数据字段数量可变:

txt='''\
ID,date,title
1,2013,
2,2012,cde
3
4,2015,fgh'''

print pd.read_csv(StringIO(txt), usecols=['title'])
  title
0   NaN
1   cde
2   NaN
3   fgh

print pd.read_csv(StringIO(txt), usecols=['title']).T.values.tolist()[0]
[nan, 'cde', nan, 'fgh']
陶朝明
2023-03-14

一个选项是只读取整个csv,然后选择一列:

data = pd.read_csv("data.csv")

data['title']  # as a Series
data['title'].values  # as a numpy array

正如@dawg所建议的,如果您还使用square参数来避免黑客将数组中的值展平,那么可以使用usecols参数。。。

In [11]: titles = pd.read_csv("data.csv", sep=',', usecols=['title'], squeeze=True)

In [12]: titles  # Series
Out[12]: 
0    abc
1    cde
Name: title, dtype: object

In [13]: titles.values  # numpy array
Out[13]: array(['abc', 'cde'], dtype=object)
 类似资料:
  • 我有一个csv文件,标题在第一行,其值在所有石灰中。 标题应该是:标题1,标题2,标题3,。。。。 如果总共有200行,我将得到199个header1,header2值。 我试图将每个标头的所有值存储在一个数组中。 我试过的代码, 这样做的时候,我每行得到200个阵列。 如果假设有七个标头,我需要七个包含199个元素的数组。 顺便说一句,我不需要所有的标题值,我只需要一些标题,我可以通过拆分第一行

  • 我正在处理一个包含3列的csv文件,如下所示: 列包含不同的值(比如总共5个),其中包括空格、冒号和其他特殊字符。 我试图实现的是根据每个指标绘制时间图(在同一个图上或在不同的图上)。我可以使用,但首先需要根据“标签”对对进行分组。 我查看了以获得标签,并将以“标签”进行分组,但我正在努力以一种正确的“pythonic”方式完成这项工作。 有什么建议吗?

  • 我遇到了一个挑战,我必须读取CSV文件并将其读取,直到定义的可变大小限制(BATCH_SIZE)。读取 CSV 中的行数后,将其发送到不同的 AWS API。由于我的CSV文件大小可以是1Gb到2Gb的任何地方,因此我避免使用JSR223 CSV文件读取。我想知道如何使用JMeter和CSV数据集配置来实现它。

  • 本文向大家介绍如何读取CSV文件并将值存储到C#中的数组中?,包括了如何读取CSV文件并将值存储到C#中的数组中?的使用技巧和注意事项,需要的朋友参考一下 CSV文件是逗号分隔的文件,用于以有组织的方式存储数据。它通常以表格形式存储数据。大多数企业组织将其数据存储在CSV文件中。 CSV文件是逗号分隔的文件,用于以有组织的方式存储数据。它通常以表格形式存储数据。大多数企业组织将其数据存储在CSV文

  • 问题内容: 在此先感谢您的帮助。 好吧,这就是我的情况。我有一个Web系统,该系统基于超声波计创建的样本进行一些与噪声相关的计算。最初,数据库仅存储这些计算的结果。但是现在,我被要求也自己存储样本。每个样本只是一个300或600个数字的列表,每个数字都有一个小数。 因此,我想到的最简单的方法是在表中添加一列,该列存储给定样本的所有计算。此列应包含数字列表。 那么我的问题是:将这一数字列表存储在单列

  • 问题内容: 大家好,我想在html页面上显示数据库表的全部内容。我试图先从数据库中获取记录并存储在其中,但是当我在html页面上返回数组列表时,它仅重复显示最后一条记录作为数据库表的计数。这是下面的代码: 问题答案: 尝试以下代码 这是我的模特班 这是我的查看方法