如何修复:ValueError:尾随数据?
在本文中,我们将讨论如何修复 ValueError: Trailing data in Python。
当您尝试将 JSON 文件导入到 pandas DataFrame 时,通常会出现此问题,尽管数据是在由 '\n' 等结束线分隔的行中写入的。
就像在这个示例 json 文件中一样:
使用的 JSON:
错误:
让我们看看如果我们尝试将此 json 文件导入 pandas 会发生什么。
Python3
# This code fix ValueError: Trailing data
import pandas as pd
df = pd.read_json('sample_json.json')
print(df.head())
Python3
# This code fix ValueError: Trailing data
import pandas as pd
df = pd.read_json('sample_json.json', lines = True)
print(df.head())
输出:
ValueError: Trailing data
因为我们的 JSON 文件中的“ABOUT”项包含 '\n' 来指示结束线,所以我们得到一个错误。
怎么修:
为此,我们将使用 lines = True 将文件作为每行的 json 对象读取。
Python3
# This code fix ValueError: Trailing data
import pandas as pd
df = pd.read_json('sample_json.json', lines = True)
print(df.head())
输出:
ID NAME
0 1 abc
1 2 def
2 3 ghi
3 4 jkl
请注意,我们能够正确地将 JSON 文件导入 pandas DataFrame,而不会出现任何问题。这已通过将 pandas 读取 json 方法的 lines 属性更改为 True 来解决。 line 属性将文件作为每行的 json 对象读取。