下面是一个完整的 Python 示例代码,它可以生成简单的算式(加法、减法、乘法、除法),并将生成的算式和习题长期保存到 CSV、XML 和 JSON 三种格式中。代码包括生成算式的功能,以及将数据保存和读取的功能。
1. 代码实现
pythonimport csv
import json
import xml.etree.ElementTree as ET
import random
import os
# 生成算式
def generate_expressions(num_expressions=10):
operations = ['+', '-', '*', '/']
expressions = []
for _ in range(num_expressions):
num1 = random.randint(1, 100)
num2 = random.randint(1, 100)
operation = random.choice(operations)
# 避免除以零
if operation == '/' and num2 == 0:
num2 += 1
expression = f"{num1} {operation} {num2}"
expressions.append(expression)
return expressions
# 保存为 CSV 文件
def save_to_csv(expressions, filename='expressions.csv'):
with open(filename, mode='w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['Expression'])
for expr in expressions:
writer.writerow([expr])
# 保存为 JSON 文件
def save_to_json(expressions, filename='expressions.json'):
with open(filename, 'w') as file:
json.dump({'expressions': expressions}, file)
# 保存为 XML 文件
def save_to_xml(expressions, filename='expressions.xml'):
root = ET.Element('Expressions')
for expr in expressions:
item = ET.SubElement(root, 'Expression')
item.text = expr
tree = ET.ElementTree(root)
tree.write(filename)
# 读取 CSV 文件
def read_from_csv(filename='expressions.csv'):
with open(filename, mode='r') as file:
reader = csv.reader(file)
next(reader) # 跳过表头
return [row[0] for row in reader]
# 读取 JSON 文件
def read_from_json(filename='expressions.json'):
with open(filename, 'r') as file:
data = json.load(file)
return data['expressions']
# 读取 XML 文件
def read_from_xml(filename='expressions.xml'):
tree = ET.parse(filename)
root = tree.getroot()
return [elem.text for elem in root.findall('Expression')]
# 主程序
if __name__ == "__main__":
num_expressions = 10 # 生成10个算式
expressions = generate_expressions(num_expressions)
# 保存到不同格式的文件
save_to_csv(expressions)
save_to_json(expressions)
save_to_xml(expressions)
# 读取并打印保存的数据
print("From CSV:", read_from_csv())
print("From JSON:", read_from_json())
print("From XML:", read_from_xml())
2. 代码说明
- 生成算式:使用
generate_expressions
函数生成指定数量的随机算式。 - 保存功能:
save_to_csv
: 将算式保存为 CSV 格式。save_to_json
: 将算式保存为 JSON 格式。save_to_xml
: 将算式保存为 XML 格式。
- 读取功能:
read_from_csv
: 从 CSV 文件读取算式。read_from_json
: 从 JSON 文件读取算式。read_from_xml
: 从 XML 文件读取算式。
- 主程序:生成算式,保存到三种格式的文件,并读取并打印保存的数据。
3. 运行代码
确保在您的 Python 环境中安装了必要的库,然后运行上述代码。它会生成随机算式,并将其保存到三个不同的文件中,然后读取这些文件并打印内容。
4. 依赖库
该代码使用 Python 的标准库,不需要安装任何额外的依赖。您可以在任何支持 Python 的环境中直接运行。
标签:XML,csv,读取,算式,json,filename,JSON,expressions,CSV From: https://www.cnblogs.com/cor0000/p/18462970