python - 在 Python 中创建一个列表,其中包含来自 csv 文件中特定列的数据

标签 python list pandas

我有一个像这样读取的 csv 文件:

with io.open(script, 'r', encoding='utf-8-sig') as csvfile:
    entireFile = csv.reader(csvfile)

我想遍历“entireFile”并将特定列复制到新列表。我有另一个列表,我们称之为“wantedColumnsList”,其中包含我想要复制的列标题的名称:

wantedColumnsList = ["Column2", "Column5", "Column9"]

重申一下,我想遍历“entireFile”并将所有数据复制到一个新列表中,但只复制 wantedColumnsList 中概述的列中包含的数据。 我想这样做(只是为了提供一些上下文)的原因是我可以遍历新列表并搜索任何空值。如果我找到一个空值,我希望能够打印出包含该空值的列名。 本质上,我正在创建一个脚本,该脚本读取一个文件并检查某些列是否包含空值,而这些列不应该包含空值。 谢谢!

最佳答案

如果您对 pandas 持开放态度,您可以使用此代码过滤出所需的列:

import pandas as pd

df = pd.read_csv('your_file.csv', encoding='utf-8-sig')
wantedColumnsList = ["Column2", "Column5", "Column9"]

df = df[wantedColumnsList]

如果你想在之后将它转储到 csv 只需使用:

df.to_csv('your_new_file.csv', encoding='utf-8-sig')

编辑: 并查找带有 nan 的列:

df.columns[df.isnull().any()].tolist()

使用 nan 查找特定行:

df[df.isnull().any(axis=1)]

关于python - 在 Python 中创建一个列表,其中包含来自 csv 文件中特定列的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46325578/

相关文章:

python - 使用现有列和循环的总和创建列

python - 如何将 pandas.dataframe 的索引提高四分之一?

Python OpenCV : Getting Stats out of Hough Circle Detection

javascript - 使用循环定义变量值JS

java - 比较 2 个 ArrayLists 的简单方法

java - Mockito 使用更改的列表进行验证

python - 如何对数据框中的列进行分组,其中包含包含元组列表的列

python - 使用 XlsxWriter 对行进行分组

python - 自定义 Django 评论应用程序

python - 程序退出时如何删除文件?