JSON 转储放置随机数字而不是 Python 中的某些字符 3
JSON dumps place random digits instead of some characters in Python 3
我正在读取一个文本文件,然后创建一个 python 字典,之后我必须从该字典创建一个 JSON 文件。
这是一个示例文本文件:
There are N students living in the dormitory of Berland State University. Each of them sometimes wants to use the kitchen, so the head of the dormitory came up with a timetable for kitchen's usage in order to avoid the conflicts:
The first student starts to use the kitchen at the time 0 and should finish the cooking not later than at the time A1.
The second student starts to use the kitchen at the time A1 and should finish the cooking not later than at the time A2.
And so on.
The N-th student starts to use the kitchen at the time AN-1 and should finish the cooking not later than at the time AN
The holidays in Berland are approaching, so today each of these N students wants to cook some pancakes. The i-th student needs Bi units of time to cook.
The students have understood that probably not all of them will be able to cook everything they want. How many students will be able to cook without violating the schedule?
Input
The first line of the input contains an integer T denoting the number of test cases. The description of T test cases follows.
The first line of each test case contains a single integer N denoting the number of students.
The second line contains N space-separated integers A1, A2, ..., AN denoting the moments of time by when the corresponding student should finish cooking.
The third line contains N space-separated integers B1, B2, ..., BN denoting the time required for each of the students to cook.
Output
For each test case, output a single line containing the number of students that will be able to finish the cooking.
Constraints
Should contain all the constraints on the input data that you may have. Format
it like:
1 ≤ T ≤ 10
1 ≤ N ≤ 10^4
0 < A1 < A2 < ... < AN < 10^9
1 ≤ Bi ≤ 10^9
Example
Input:
2
3
1 10 15
1 10 3
3
10 20 30
15 5 20
Output:
2
1
Explanation
Example case 1.
The first student has 1 unit of time - the moment 0. It will be enough for her to cook. The second student has 9 units of time, but wants to cook for 10 units of time, and won't fit in time. The third student has 5 units of time and will fit in time, because needs to cook only for 3 units of time.
Example case 2.
Each of students has 10 units of time, but only the second one will be able to fit in time.
这里是生成的 JSON:
{
"uid": "abdul",
"descriptions": {
"description0": "There are N students living in the dormitory of Berland State University. Each of them sometimes wants to use the kitchen, so the head of the dormitory came up with a timetable for kitchen's usage in order to avoid the conflicts:",
"description1": "The first student starts to use the kitchen at the time 0 and should finish the cooking not later than at the time A1.",
"description2": "The second student starts to use the kitchen at the time A1 and should finish the cooking not later than at the time A2.",
"description3": "And so on.",
"description4": "The N-th student starts to use the kitchen at the time AN-1 and should finish the cooking not later than at the time AN",
"description5": "The holidays in Berland are approaching, so today each of these N students wants to cook some pancakes. The i-th student needs Bi units of time to cook.",
"description6": "The students have understood that probably not all of them will be able to cook everything they want. How many students will be able to cook without violating the schedule?",
"description7": "Input",
"description8": "The first line of the input contains an integer T denoting the number of test cases. The description of T test cases follows.",
"description9": "The first line of each test case contains a single integer N denoting the number of students.",
"description10": "The second line contains N space-separated integers A1, A2, ..., AN denoting the moments of time by when the corresponding student should finish cooking. ",
"description11": "The third line contains N space-separated integers B1, B2, ..., BN denoting the time required for each of the students to cook.",
"description12": "Output",
"description13": "For each test case, output a single line containing the number of students that will be able to finish the cooking.",
"description14": "Constraints",
"description15": "Should contain all the constraints on the input data that you may have. Format it like:",
"description16": "1 \u2264 T \u2264 10",
"description17": "1 \u2264 N \u2264 10^4",
"description18": "0 < A1 < A2 < ... < AN < 10^9",
"description19": "1 \u2264 Bi \u2264 10^9",
"description20": "Example",
"description21": "Input:",
"description22": "2",
"description23": "3",
"description24": "1 10 15",
"description25": "1 10 3",
"description26": "3",
"description27": "10 20 30",
"description28": "15 5 20",
"description29": "Output:",
"description30": "2",
"description31": "1",
"description32": "Explanation",
"description33": "Example case 1. The first student has 1 unit of time - the moment 0. It will be enough for her to cook. The second student has 9 units of time, but wants to cook for 10 units of time, and won't fit in time. The third student has 5 units of time and will fit in time, because needs to cook only for 3 units of time.",
"description34": "Example case 2. Each of students has 10 units of time, but only the second one will be able to fit in time."
},
"inputs": {},
"outputs": {},
"ex_inputs": {},
"ex_outputs": {},
"miscs": {},
"constraints": {}
}
如果你在json中看到描述16-19,你可以看到它被≤替换为\u2264,我想要使此 json 的文本与文本文件中的文本相同。
我是这样创建的 json:
data = {
'uid': userId,
'descriptions': description,
'inputs': inputs,
'outputs': outputs,
'ex_inputs': example_input,
'ex_outputs': example_output,
'miscs': misc,
'constraints': constraints
}
print(data)
# Writing Finalized JSON description files
with open('/Users/abdul/PycharmProjects/d2cApi/finalized/description_' + str(fid) + '.json', 'w') as f:
f.write(json.dumps(data, indent=4))
return json.dumps(data)
我怎样才能做到这一点?
请帮帮我!
提前致谢!
在文件开头添加encoding='utf-8'
。
with open('/Users/abdul/PycharmProjects/d2cApi/finalized/description_' + str(fid) + '.json', 'w', encoding="utf-8") as f:
使用 ensure_ascii=False
怎么样?
>>> d = {"descriptions": {"description16": "1 ≤ T ≤ 10"}}
>>> json.dumps(d)
'{"descriptions": {"description16": "1 \u2264 T \u2264 10"}}'
>>> json.dumps(d, ensure_ascii=False)
'{"descriptions": {"description16": "1 ≤ T ≤ 10"}}'
我将以上两个答案合并为:
# Writing Finalized JSON description files
with open('/Users/abdul/PycharmProjects/d2cApi/finalized/description_' + str(fid) + '.json', 'w', encoding="utf-8")\
as f:
f.write(json.dumps(data, indent=4, ensure_ascii=False))
return json.dumps(data)
我在打开文件时添加了 encoding="utf-8"
,在将数据转储到 json 文件时还添加了 ensure_ascii=False
。
我正在读取一个文本文件,然后创建一个 python 字典,之后我必须从该字典创建一个 JSON 文件。
这是一个示例文本文件:
There are N students living in the dormitory of Berland State University. Each of them sometimes wants to use the kitchen, so the head of the dormitory came up with a timetable for kitchen's usage in order to avoid the conflicts:
The first student starts to use the kitchen at the time 0 and should finish the cooking not later than at the time A1. The second student starts to use the kitchen at the time A1 and should finish the cooking not later than at the time A2. And so on.
The N-th student starts to use the kitchen at the time AN-1 and should finish the cooking not later than at the time AN The holidays in Berland are approaching, so today each of these N students wants to cook some pancakes. The i-th student needs Bi units of time to cook. The students have understood that probably not all of them will be able to cook everything they want. How many students will be able to cook without violating the schedule?
Input
The first line of the input contains an integer T denoting the number of test cases. The description of T test cases follows. The first line of each test case contains a single integer N denoting the number of students.
The second line contains N space-separated integers A1, A2, ..., AN denoting the moments of time by when the corresponding student should finish cooking. The third line contains N space-separated integers B1, B2, ..., BN denoting the time required for each of the students to cook.
Output
For each test case, output a single line containing the number of students that will be able to finish the cooking.
Constraints
Should contain all the constraints on the input data that you may have. Format it like:
1 ≤ T ≤ 10
1 ≤ N ≤ 10^4
0 < A1 < A2 < ... < AN < 10^9
1 ≤ Bi ≤ 10^9
Example
Input:
2 3
1 10 15
1 10 3
3
10 20 30
15 5 20
Output:
2
1
Explanation
Example case 1.
The first student has 1 unit of time - the moment 0. It will be enough for her to cook. The second student has 9 units of time, but wants to cook for 10 units of time, and won't fit in time. The third student has 5 units of time and will fit in time, because needs to cook only for 3 units of time.
Example case 2.
Each of students has 10 units of time, but only the second one will be able to fit in time.
这里是生成的 JSON:
{
"uid": "abdul",
"descriptions": {
"description0": "There are N students living in the dormitory of Berland State University. Each of them sometimes wants to use the kitchen, so the head of the dormitory came up with a timetable for kitchen's usage in order to avoid the conflicts:",
"description1": "The first student starts to use the kitchen at the time 0 and should finish the cooking not later than at the time A1.",
"description2": "The second student starts to use the kitchen at the time A1 and should finish the cooking not later than at the time A2.",
"description3": "And so on.",
"description4": "The N-th student starts to use the kitchen at the time AN-1 and should finish the cooking not later than at the time AN",
"description5": "The holidays in Berland are approaching, so today each of these N students wants to cook some pancakes. The i-th student needs Bi units of time to cook.",
"description6": "The students have understood that probably not all of them will be able to cook everything they want. How many students will be able to cook without violating the schedule?",
"description7": "Input",
"description8": "The first line of the input contains an integer T denoting the number of test cases. The description of T test cases follows.",
"description9": "The first line of each test case contains a single integer N denoting the number of students.",
"description10": "The second line contains N space-separated integers A1, A2, ..., AN denoting the moments of time by when the corresponding student should finish cooking. ",
"description11": "The third line contains N space-separated integers B1, B2, ..., BN denoting the time required for each of the students to cook.",
"description12": "Output",
"description13": "For each test case, output a single line containing the number of students that will be able to finish the cooking.",
"description14": "Constraints",
"description15": "Should contain all the constraints on the input data that you may have. Format it like:",
"description16": "1 \u2264 T \u2264 10",
"description17": "1 \u2264 N \u2264 10^4",
"description18": "0 < A1 < A2 < ... < AN < 10^9",
"description19": "1 \u2264 Bi \u2264 10^9",
"description20": "Example",
"description21": "Input:",
"description22": "2",
"description23": "3",
"description24": "1 10 15",
"description25": "1 10 3",
"description26": "3",
"description27": "10 20 30",
"description28": "15 5 20",
"description29": "Output:",
"description30": "2",
"description31": "1",
"description32": "Explanation",
"description33": "Example case 1. The first student has 1 unit of time - the moment 0. It will be enough for her to cook. The second student has 9 units of time, but wants to cook for 10 units of time, and won't fit in time. The third student has 5 units of time and will fit in time, because needs to cook only for 3 units of time.",
"description34": "Example case 2. Each of students has 10 units of time, but only the second one will be able to fit in time."
},
"inputs": {},
"outputs": {},
"ex_inputs": {},
"ex_outputs": {},
"miscs": {},
"constraints": {}
}
如果你在json中看到描述16-19,你可以看到它被≤替换为\u2264,我想要使此 json 的文本与文本文件中的文本相同。
我是这样创建的 json:
data = {
'uid': userId,
'descriptions': description,
'inputs': inputs,
'outputs': outputs,
'ex_inputs': example_input,
'ex_outputs': example_output,
'miscs': misc,
'constraints': constraints
}
print(data)
# Writing Finalized JSON description files
with open('/Users/abdul/PycharmProjects/d2cApi/finalized/description_' + str(fid) + '.json', 'w') as f:
f.write(json.dumps(data, indent=4))
return json.dumps(data)
我怎样才能做到这一点?
请帮帮我!
提前致谢!
在文件开头添加encoding='utf-8'
。
with open('/Users/abdul/PycharmProjects/d2cApi/finalized/description_' + str(fid) + '.json', 'w', encoding="utf-8") as f:
使用 ensure_ascii=False
怎么样?
>>> d = {"descriptions": {"description16": "1 ≤ T ≤ 10"}}
>>> json.dumps(d)
'{"descriptions": {"description16": "1 \u2264 T \u2264 10"}}'
>>> json.dumps(d, ensure_ascii=False)
'{"descriptions": {"description16": "1 ≤ T ≤ 10"}}'
我将以上两个答案合并为:
# Writing Finalized JSON description files
with open('/Users/abdul/PycharmProjects/d2cApi/finalized/description_' + str(fid) + '.json', 'w', encoding="utf-8")\
as f:
f.write(json.dumps(data, indent=4, ensure_ascii=False))
return json.dumps(data)
我在打开文件时添加了 encoding="utf-8"
,在将数据转储到 json 文件时还添加了 ensure_ascii=False
。