使用pandas read_csv遇sep与delimiter冲突报错,求同时用converters方案
解决pandas read_csv同时传converters和usecols参数的报错问题
错误根源
你调用pd.read_csv时,错误地把converters和usecols当成位置参数传递了。read_csv的参数定义里,文件路径之后的位置参数依次是sep、delimiter这类,结果converters被误识别为sep参数,usecols被误识别为delimiter参数,直接触发了“同时指定sep和delimiter”的报错。
修正后的代码
filepath = "C:/Users/Kunwar Rajeev Singh/Desktop/DAILY PROJECTS/My Python projects/School Grading Pandas Practice/data/roster.csv" converters = {"NetID": str.lower, "Email Address": str.lower} usecols = ["NetID", "Name", "Email Address"] # 用关键字参数传递converters和usecols,避免参数匹配错误 roster = pd.read_csv(filepath, converters=converters, usecols=usecols, index_col="NetID")
核心要点
read_csv中除了文件路径的必填参数,其他可选参数必须用关键字参数传递,别依赖位置顺序匹配,否则很容易出现参数错位。- 按上述方式修改后,就能同时正常使用
converters(转换指定列的大小写)和usecols(只读取需要的列)两个参数,不会再出现参数冲突的问题。
内容的提问来源于stack exchange,提问作者ABHISHEK THAKUR
相关产品推荐
相关产品推荐

