我试图使用熊猫操作.csv文件,但我得到这个错误:
pandas.parser.CParserError:标记数据错误。C错误:第3行有2个字段,见12
我试着读过熊猫的文件,但一无所获。
我的代码很简单:
path = 'GOOG Key Ratios.csv'
#print(open(path).read())
data = pd.read_csv(path)
我该如何解决这个问题?我应该使用csv模块还是其他语言?
文件来自晨星公司
我试图使用熊猫操作.csv文件,但我得到这个错误:
pandas.parser.CParserError:标记数据错误。C错误:第3行有2个字段,见12
我试着读过熊猫的文件,但一无所获。
我的代码很简单:
path = 'GOOG Key Ratios.csv'
#print(open(path).read())
data = pd.read_csv(path)
我该如何解决这个问题?我应该使用csv模块还是其他语言?
文件来自晨星公司
当前回答
这就是我所做的。
Sep ='::'解决了我的问题:
data=pd.read_csv('C:\\Users\\HP\\Downloads\\NPL ASSINGMENT 2 imdb_labelled\\imdb_labelled.txt',engine='python',header=None,sep='::')
其他回答
对于这个问题,我遇到了多种解决方案。很多人也给出了最好的解释。但对于初学者来说,我认为以下两种方法就足够了:
import pandas as pd
#Method 1
data = pd.read_csv('file1.csv', error_bad_lines=False)
#Note that this will cause the offending lines to be skipped.
#Method 2 using sep
data = pd.read_csv('file1.csv', sep='\t')
虽然这个问题并非如此,但压缩数据也可能出现此错误。显式地设置kwarg压缩值解决了我的问题。
result = pandas.read_csv(data_source, compression='gzip')
您的CSV文件可能有可变的列数,read_csv从前几行推断出列数。在这种情况下有两种解决方法:
1)将CSV文件更改为具有最大列数的虚拟第一行(并指定header=[0])
2)或者使用names = list(range(0,N)),其中N是最大列数。
使用 熊猫。read_csv (CSVFILENAME,头= None, 9 = " ")
当试图从链接中读取CSV数据时
http://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data
我将该网站的数据复制到我的csv文件中。它有额外的空格,所以使用sep =', '并且它工作:)
下面的命令序列工作(我丢失了数据的第一行-no header=None present-,但至少它加载):
Df = pd.read_csv(文件名, usecols =范围(0,42)) df。列=[‘年’,‘莫’,‘天’,“人力资源”,“分”,“秒”,“猎狗”, ' error ', ' rectype ', ' lane ', ' speed ', ' class ', ' length ' ' gvw ' ' esal ' ' w1 ' ' s1 ' ' w2 ' ' s2 ' ' w3 ' ' s3 ' ' w4 ' ' s4 ' ' w5 ' ' s5 ' ' w6 ' ' s6 ' ' w7 ' ' s7 ' ' w8 ' ' s8 ' ' w9 ' ' s9 ' ' w10 ' ' s10 ' ' w11 ', ' s11 ', ' w12 ', ' s12 ', ' w13 ', ' s13 ', ' w14 ']
以下不工作:
Df = pd.read_csv(文件名, 名称=[‘年’,‘莫’,‘天’,“人力资源”,“分”,“秒”,“猎狗”, ' error ', ' rectype ', ' lane ', ' speed ', ' class ', ' length ' ' gvw ' ' esal ' ' w1 ' ' s1 ' ' w2 ' ' s2 ' ' w3 ' ' s3 ' ' w4 ' ' s4 ' ' w5 ' ' s5 ' ' w6 ' ' s6 ' ' w7 ' ' s7 ' ' w8 ' ' s8 ' ' w9 ' ' s9 ' ' w10 ' ' s10 ' ' w11 ', ' s11 ', ' w12 ', ' s12 ', ' w13 ', ' s13 ', ' w14 '], usecols =范围(0,42))
CParserError:标记数据错误。C错误:在1605634行中预期有53个字段,看到54 以下不工作:
df = pd read_csv(文件) 标题=郎)
CParserError:标记数据错误。C错误:在1605634行中预期有53个字段,看到54
因此,在你的问题中,你必须传递usecols=range(0,2)