编写一个程序,要求能够将元素为任意Python支持的型(包括含有角逗号的字符串)的列表转储为 CSV,并能够重新正确解析为列表
时间: 2024-12-17 07:24:35 浏览: 6
在Python中,你可以使用内置模块`csv`来处理CSV文件的读写操作。下面是一个简单的例子,展示如何编写一个函数,接收一个包含各种类型的元素(如整数、浮点数、字符串甚至元组)的列表,并将其转换为CSV格式存储,然后能从CSV文件中恢复为原始列表:
```python
import csv
# 函数来写入CSV文件
def write_to_csv(input_list, filename):
with open(filename, 'w', newline='') as csvfile:
fieldnames = ['element'] # 列名
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader() # 写入表头
for item in input_list:
row = {'element': str(item)} # 将所有元素转换为字符串
writer.writerow(row)
# 函数来从CSV文件读取并重构列表
def read_from_csv(filename):
with open(filename, 'r') as csvfile:
reader = csv.DictReader(csvfile)
data = [eval(row['element']) for row in reader] # 使用eval转换回原数据类型,注意安全风险
return data
# 示例使用
input_list = [1, 2.5, "Hello", (True, False)]
write_to_csv(input_list, 'test.csv')
recovered_list = read_from_csv('test.csv')
print(f"Original List: {input_list}")
print(f"Recovered List: {recovered_list}")
阅读全文