Python创建两个文件的diff


data1= [open("lis1.json", 'r')]
data2= [open('list2.json', 'r')]

first_set = set(map(tuple, data1))
second_set = set(map(tuple, data2))

x= (first_set-second_set)
print(x)

我试图查看两个列表,并获得列表1中不在列表2中的数据。问题是列出两组数据的格式如下:

data1= ["Jane Doe", 98132]["John Doe", 12345]

data1=
[
"jane doe",
98132
][
"john doe",
12345
]
data2=["Jane Doe", 98132]["John drew", 8989]["John drew", 8989]["John drew", 8989]
data2= 
[
"jane doe",
98132
][
"john drew",
8989
]

I was expected

x = [["John Doe", 12345]

我正在比较用户列表和呼叫记录,所以它可能有重复。


在文件中,我在错误中看到:"Json标准只允许一个顶级值">


如果我使用json(load)

Traceback (most recent call last):
File "/Users/diff.py", line 4, in <module>
data1 = json.load(open("list1.json"))
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/json/__init__.py", line 293, in load
return loads(fp.read(),
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/json/__init__.py", line 346, in loads
return _default_decoder.decode(s)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/json/decoder.py", line 340, in decode
raise JSONDecodeError("Extra data", s, end)
json.decoder.JSONDecodeError: Extra data: line 1 column 19 (char 18)

您需要使用json.load()来解析JSON

data1 = json.load(open("list1.json"))
data2 = json.load(open("list2.json"))

最新更新