首页 > 解决方案 > Python:熊猫,导入单列,作为列表

问题描述

我正在尝试将数据从 csv 文件导出到列表中。这是一份葡萄酒及其颜色的清单但是当我测试一个元素是否在清单中时,我得到了一个假阴性。当我检查列表时,我我不小心创建了一个嵌套列表

我的问题是,我应该做些什么改变才能得到一份酒单。

with open('colour_red.csv', 'r', encoding='utf-8-sig', errors='ignore') as f:
    red_reader = csv.reader(f)
    wine_list_red = list(red_reader)

如果我打印一个元素,我会得到:

[['Agni', 'R']]

如果我打印整个列表,我会得到:

[['Prime_variety', 'Colour'],
 ['Abondant', 'W'],
 ['Afus Ali', 'W'],
 ['Agadai', 'W'],
 ['Airen', 'W'],
 ['Alarije', 'W'],...]

第二个问题:如果我运行这个我怎么会出错。

if 'Abondant' in wine_list_red:
        print('True') 
    else:
        print('False') 

标签: pythonlistcsv

解决方案


如果您有如下列表:

original_list = [['Prime_variety', 'Colour'],
 ['Abondant', 'W'],
 ['Afus Ali', 'W'],
 ['Agadai', 'W'],
 ['Airen', 'W'],
 ['Alarije', 'W'],...]

你只想要酒单,你可以这样做:

wine_list = [x[0] for x in original_list if x[0] != "Prime_variety"]

>>> 'Abondant' in wine_list
True

您可以使用pandas

import pandas as pd

df = pd.read_csv("colour_red.csv")
print(df["Prime_variety"].tolist())

推荐阅读