表格处理错误集锦——must be called with a collection of some kind......

1.IndentationError: unindent does not match any outer indentation level

报错原因:这是占位问题,存在两种可能性:

1.代码没有进行对齐;
2.存在非法字符与其他格式的不可见的内容(比如中文状态输入空格等输入法问题)。

解决方法:

1.将光标移到行首,按下Tab键,进行代码对齐,我比较喜欢这一种方式;或按下四个空格键进行缩进。
  注:Python的“层次逻辑关系”都是靠缩进来彰显的。
2.选中代码,按下Tab键进行多行的缩进。Tab键还有个名称叫——制表符。

特别注意:

  • 1.注释也要符合代码规范,进行合适的代码缩进(或对齐);
  • 2.不要Tab键和空格键进行混用,必须保持一致。

2.TypeError: Index(…) must be called with a collection of some kind, ‘abcdefghim’ was passed

报错原因:
数据只有一列,看似不是一列却是一列。眼见不一定为实,更哲学一点儿,人求存而不求真
请看如下举例:这是(4,1)的矩阵,不是(4,3)的矩阵。这困惑了我许久,发现了。

a = [
 	['1, 2, 3'],
 	['4, 5, 6'],
 	['1, 7, 3'],
 	['4, 9, 6']
 	]
print(np.shape(a)) # (4, 1)

解决方法:
指定column时,需要加中括号

df = pd.DataFrame(data, columns=['result'])

3.OSError: Initializing from file failed

报错原因:

1、文件名包含中文名;
2、传入参数是文件路径而非文件名

解决方法:
1、在read_csv之前先用open函数

f = open('实验-01.csv')
data = pd.read_csv(f,skiprows=1,header=None)

2、不加open函数,在read_csv里面设置engine参数

data = pd.read_csv('实验-01.csv',skiprows=1,header=None,engine='python')
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值