繁体   English   中英

在python中的csv文件的特定列中查找特定值

[英]Find specific value in specific column of csv file in python

我需要在 csv 文件的指定列中提取指定字符,我收到一条错误消息“TypeError: tuple indices must be integers or slices, not str”

我的 csv 文件

name,age,sex
li,26,M
mu,30,F
import os
import pandas as pd
import glob
for i in glob.glob('H:\\1\\*.csv'):
    result_1=pd.read_csv(i,encoding="utf-8",dtype=object)
    SubNetwork_list=list(result_1.groupby(["name"]))
    for SubNetwork in SubNetwork_list:
        SubNetwork_pd=pd.DataFrame(SubNetwork["li"])
        SubNetwork_pd.to_csv("H:\\2\\li.csv",encoding="utf-8",
                         header=True,index=False,mode='a')

控制台错误

SubNetwork_pd=pd.DataFrame(SubNetwork['li'])
TypeError: tuple indices must be integers or slices, not str

迭代 groupby 时,该迭代器的每个元素都是(group_name, group_dataframe)的元组。

因此,要遍历 groupby,您需要执行以下操作:

    SubNetwork_list=list(result_1.groupby(["name"]))
    for SubNetwork_name, SubNetwork in SubNetwork_list:

这将解包元组。

更多信息: 文档

PS:您不需要在 groupby 对象上调用list() 您可以在不这样做的情况下对其进行迭代,而且速度更快。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM