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



我需要提取csv文件中指定列中的指定字符,我得到一个错误提示"TypeError:元组索引必须是整数或切片,而不是字符串">

my CSV file

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:

将元组解包。

更多信息:Docs

PS:您不需要在groupby对象上调用list()。你可以在不这样做的情况下迭代它,这样更快。

相关内容

  • 没有找到相关文章

最新更新