[英]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.