我不确定您是否可以在整个df上执行此操作,加载后将执行以下操作:In [21]:
df = pd.DataFrame({"a":['jasjdhadasd']*5, "b":arange(5)})
df
Out[21]:
a b
0 jasjdhadasd 0
1 jasjdhadasd 1
2 jasjdhadasd 2
3 jasjdhadasd 3
4 jasjdhadasd 4
In [22]:
for col in df:
if is_string_like(df[col]):
df[col] = df[col].str.slice(0,5)
df
Out[22]:
a b
0 jasjd 0
1 jasjd 1
2 jasjd 2
3 jasjd 3
4 jasjd 4
编辑
我认为,如果您将参数中的数据类型指定为read_csv,则可以设置最大长度:
df = pd.read_csv('file.csv', dtype=(np.str, maxlen))
我会试试这个,很快确认
更新
遗憾的是,您无法指定长度,如果您尝试以下操作,将引发错误:NotImplementedError: the dtype
当试图传递参数dtype=(str,5)