数据框中的列未拆分

我遇到的问题是,当我执行describe()或head()处理 dataset.csv 时,数据集输出显示其中没有列。我已经尝试使用split()andstrip()但仍然相同


这是我的代码:


import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

import os

from sklearn import preprocessing

from sklearn.model_selection import train_test_split

import csv


directory = os.path.join('drive/My Drive/BCML/winequality-white.csv')


text_file = open(directory, "r")

lines = text_file.readlines()


line = line.strip(";")

line = line.strip()


parsed_values = [] 


for index, line in enumerate(lines):

  split_columns = line.split(";")



  if index == 0:

    continue

  

  parsed_values.append([float(split_columns[0]), float(split_columns[1]), float(split_columns[2]), float(split_columns[3]), float(split_columns[4]), float(split_columns[5]), float(split_columns[6]), float(split_columns[7]), float(split_columns[8]), float(split_columns[9]), float(split_columns[10]), int(split_columns[11])])


dataset = pd.read_csv(directory)


输出是:

https://img3.mukewang.com/64d1ecf90001f89c12560194.jpg

和:

https://img2.mukewang.com/64d1ed070001a2b512010209.jpg

附加:我需要仅针对这种情况使用此数据集。所以我无法在互联网上搜索和替换相同的数据集。当我用 Excel 打开 .csv 文件时,它的结构正常。我不知道为什么当我将循环更改split为for时split_columns = line.split(","),我会收到此错误:


---------------------------------------------------------------------------

ValueError                                Traceback (most recent call last)

<ipython-input-16-fb83c4e7dfad> in <module>()

      8     continue

      9 

---> 10   parsed_values.append([float(split_columns[0]), float(split_columns[1]), float(split_columns[2]), float(split_columns[3]), float(split_columns[4]), float(split_columns[5]), float(split_columns[6]), float(split_columns[7]), float(split_columns[8]), float(split_columns[9]), float(split_columns[10]), int(split_columns[11])])

     11 

     12 print("Jumlah data (parsed) ", len(parsed_values))


ValueError: could not convert string to float: '7;0.27;0.36;20.7;0.045;45;170;1.001;3;0.45;8.8;6\n'

我真的很感激我能得到的每一个帮助


青春有我
浏览 76回答 1
1回答

Helenr

好像 csv 文件中有一个自定义分隔符。您可以简单地添加一个 sep 参数并将其设置为 ;&nbsp;像这样dataset&nbsp;=&nbsp;pd.read_csv(directory,sep=";")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python