将CSV文件中的值存储到python中的列表中

Posted

技术标签:

【中文标题】将CSV文件中的值存储到python中的列表中【英文标题】:Storing values in a CSV file into a list in python 【发布时间】:2017-10-26 22:21:56 【问题描述】:

我想创建一个列表来存储单个列的所有值。 例如,假设我的文件有一个名为“FirstNames”的列,前 3 行的“names”列包含 Merry、Pippin、Frodo。

我想创建一个类似于 [Merry, Pippin, Frodo] 的列表

我试过这样做:

import pandas as pd
data = pd.read_csv(".../TrainingFile.csv")
list = []
names = data['FirstNames']

for i in range(0,2):
    list.append(names[i:i+1])

print(list)

但是,该列表不仅将值存储在单元格中,还给我这样的输出:

姓名:名字,数据类型:object,1 Merry

姓名:名字,数据类型:对象,2 Pippin

姓名:名字,数据类型:对象,3 Frodo

我该如何改变呢?感谢您的帮助。

奖励:我如何定义范围而不是 range(0,2),以便它通过文件中的行数?

【问题讨论】:

请修正for循环后的缩进。 【参考方案1】:

请不要使用保留字如listtypeid...作为变量,因为会屏蔽内置函数。

如果稍后在代码中使用list,例如

list = data['FirstNames'].tolist()
#another solution for converting to list
list1 = list(data['SecondNames'])

得到非常奇怪的错误并且调试非常复杂。

所以需要:

L = data['FirstNames'].tolist()

或者:

L = list(data['FirstNames'])

也可以查看Is it safe to use the python word “type” in my code。

【讨论】:

我很快写了这段代码来问这个问题,但你是对的,请注意!非常感谢您的帮助。 很高兴能帮上忙!经过几个小时的调试,我再也没有使用过这个保留字;( 如果我的回答有帮助,别忘了accept。谢谢。【参考方案2】:

因为您使用的是保留变量名。 不要使用 list,而是使用 list1 或其他名称作为变量名。

python中的保留变量名很少有:dict、str、list、int、pass等,我们误用了。尽量避免。

【讨论】:

以上是关于将CSV文件中的值存储到python中的列表中的主要内容,如果未能解决你的问题,请参考以下文章

用于访问 csv 文件中的值并使用 wamp 将其存储到数据库中的 python 程序

Python:将 3D 数组中的值存储到 csv

如何将数据从 python 列表中的列和行写入 csv 文件?

Python:将列表写入 Pandas 中的列

PYTHON将列表存储为csv文件以及从csv中提取数据2

使用 Python 列表中的值创建一个 .csv 文件