如何在python 3.5中将现有数据格式化为csv文件中的列

时间:2017-03-07 14:51:16

标签: python python-3.x csv pandas dataframe

我有一个csv文件,每行中的数据用空格分隔。我想在列中格式化这些数据。因此,如果我有5个值由一行中的空格分隔,那么我想创建5列。我的csv文件如下所示, enter image description here

我想在7列上格式化它们。我正在使用pandas并试图像这样设置列

dataFrame.columns= ['Frame',  'xmin', 'xmax', 'ymin','ymax', 'occluded', 'Label']

但它显示我的错误

  

ValueError:长度不匹配:预期的轴有1个元素,即新值   有7个元素

1 个答案:

答案 0 :(得分:4)

read_csv中使用分隔符\s+(空白)或参数delim_whitespace

names = ['Frame',  'xmin', 'xmax', 'ymin','ymax', 'occluded', 'Label']
df = pd.read_csv('file.csv', sep='\s+', names=names)

names = ['Frame',  'xmin', 'xmax', 'ymin','ymax', 'occluded', 'Label']
df = pd.read_csv('file.csv', delim_whitespace=True, names=names)

错误表示所有值都在一列中,因此不能分配7个列名。