如何在熊猫csv阅读器上修复“错误标记数据”

时间:2018-11-12 04:45:47

标签: python pandas csv tokenize

我正在尝试使用熊猫读取csv文件。 该文件实际上只有一行,但是每当我尝试读取它时,它都会导致错误。 似乎在第8行出现了问题,但是我很难找到第8行,因为显然只有一行。

我喜欢:

with codecs.open("path_to_file", "rU", "Shift-JIS", "ignore") as file:

df = pd.read_csv(file, header=None, sep="\t")
df

然后我得到:

ParserError: Error tokenizing data. C error: Expected 1 fields in line 8, saw 3

我不了解实际情况,因此您的任何建议将不胜感激。

3 个答案:

答案 0 :(得分:2)

我用了将近半天的时间苦苦挣扎,我用记事本打开了csv,注意到分离是TAB而不是逗号,然后尝试了belo组合。

df = pd.read_csv('C:\\myfile.csv',sep='\t', lineterminator='\r')

答案 1 :(得分:0)

尝试<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="com.google.android.providers.gsf.permissions.READ_GSERVICES" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <meta-data android:name="com.google.android.geo.API_KEY" android:value="@string/google_maps_key" /> <activity android:name=".Map" android:label="@string/title_activity_map"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>

答案 2 :(得分:0)

现有答案不会在数据框中包含这些其他行。如果您希望数据框的宽度最大,则可以使用以下内容:

delimiter = ','
max_columns = max(open(path_name, 'r'), key = lambda x: x.count(delimiter)).count(delimiter)
df = pd.read_csv(path_name, header = None, skiprows = 1, names = list(range(0,max_columns)))

如果实际有标题,则设置skiprows = 1,您以后总是可以检索标题列名称。 您还可以识别出填充的列多于原始标题中的列名数量的行。