我正在尝试加载只有两列的tsv文件: property_id & photo_urls
对于每个 property_id , photo_urls 列包含一个字符串表示形式 json数组,其中每个json对象代表一个图像(一个URL)。
Here(pastbin链接)是我尝试使用Pandas加载的tsv文件的一小部分示例。
photos_df = pandas.read_csv('test.tsv')
这会引发错误:
ParserError: Error tokenizing data. C error: Expected 49 fields in line 4, saw 84
我猜这是由于两个可能的原因:
不同的 property_id 具有不同数量的图像/网址/ JSON对象
JSON字符串格式错误/错误
我无法弄清楚到底是什么。
使用带有参数read_csv
的{{1}}不是一个选项,因为我不想丢失任何数据。
子问题:即使有上述两种情况,当两列确实都是字符串格式时,为什么read_csv会抛出错误?它是如何知道该字符串中的错误的?
答案 0 :(得分:0)
试
import pandas as pd
pd.read_csv('pLurm1w1.txt',delim_whitespace=True)
返回
property_id photo_urls
0 ff808081469fd6e20146a5af948000ea [{title":"Balcony","name":"IMG_20131006_120837...
1 ff8080814702d3d10147068359d200cd NaN
2 ff808081470c645401470fb03f5800a6 [{title":"Bedroom","name":"ff808081470c6454014...
3 ff808081470c6454014715eaa5960281 [{title":"Bedroom","name":"Screenshot_7.jpg","...