在使用Python时,你可能遇到的一个错误是:
ValueError: Trailing data
这个错误通常发生在你试图将一个JSON文件导入到pandas DataFrame中,然而数据是以行来写的,并以'/n'这样的尾行来分隔。
解决这个错误的最简单的方法是在导入数据的时候简单地指定lines=True。
df = pd.read_json('my_data.json', lines=True)
下面的例子显示了如何在实践中解决这个错误。
如何重现该错误
假设我们有以下的JSON文件。

现在假设我们试图将这个JSON文件导入一个pandas DataFrame中。
#attempt to import JSON file into pandas DataFrame
df = pd.read_json('Documents/DataFiles/my_data.json')
ValueError: Trailing data
我们会收到一个错误,因为我们的JSON文件中的 "Review "项包含了表示结束线的n。
如何修复该错误
解决这个错误的最简单的方法是在导入数据的时候简单地指定lines=True:
#import JSON file into pandas DataFrame
df = pd.read_json('Documents/DataFiles/my_data.json', lines=True)
#view DataFrame
df
ID Rating Review
0 A 8 Great movie.\nI would recommend it.
1 B 5 Mediocre movie.\nWould not recommend it.
2 C 3 Bad movie.\nI would not recommend.
3 D 7 Decent movie.\nI might recommend it.
注意,我们能够成功地将JSON文件导入到pandas DataFrame中,没有任何错误。
如果我们想从 "回顾 "列中删除 \n 的尾线,我们可以使用以下语法:
#replace \n with empty space in 'Review' column
df['Review'] = df['Review'].str.replace('\n', ' ')
#view updated DataFrame
df
ID Rating Review
0 A 8 Great movie. I would recommend it.
1 B 5 Mediocre movie. Would not recommend it.
2 C 3 Bad movie. I would not recommend.
3 D 7 Decent movie. I might recommend it.
现在,"Review "列中的 \n 值已被删除。
其他资源
下面的教程解释了如何在pandas中执行其他常见的操作: