使用Pandas导入分号分隔CSV后拆分列,如何保留原始列名?
解决Pandas读取分号分隔CSV时丢失列名的问题
嗨,我明白你现在遇到的麻烦了——手动拆分列后丢失原始列名确实很折腾,其实根本不需要绕这么大弯子,直接在读取文件的时候就能一步搞定!
问题根源
你当前的代码之所以会丢失列名,是因为第一步pd.read_csv('path')没有指定分隔符,Pandas默认用逗号作为分隔符,所以它把整个行都当成了一列(列名就是原始文件第一行的整段内容)。之后你提取这一列再拆分,自然就没法保留原始的列名了。
正确的解决方案
直接在read_csv里指定sep=';'参数,Pandas会自动识别分号分隔的列,同时把文件第一行作为列名完整保留下来:
import pandas as pd data = pd.read_csv('path', sep=';')
执行完这行代码后,data就已经是拆分好的完整DataFrame,列名完全和原始文件一致,不需要再手动拆分或者事后重命名列啦!
额外小技巧
如果你的CSV文件里,分隔符后面带有空格(比如列1 ; 列2 ; 列3这种格式),可以加上skipinitialspace=True参数忽略这些空格,避免列名或者数据里出现多余的空格:
data = pd.read_csv('path', sep=';', skipinitialspace=True)
内容的提问来源于stack exchange,提问作者Vero
相关产品推荐
相关产品推荐

