如何将Python单词搜索生成器的tablero变量导出为CSV文件
解决方案
第一步:修复生成函数的返回值问题
你当前定义的generar_tablero函数仅打印了生成的矩阵,没有返回值,因此你赋值的tablero变量实际是空值None,需要在函数末尾添加返回语句:
def generar_tablero(N, palabras): # 原函数代码保持不变 matriz = [] filas = int(N) columnas = int(N) letras =['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'W', 'X', 'Y', 'Z'] for i in range(filas): matriz.append([0] * columnas) for f in range(filas): for c in range(columnas): letra_random = random.randint(0,24) matriz[f][c] = letras[letra_random] for x in matriz: print(x) # 新增返回语句,将生成的矩阵返回给调用方 return matriz
第二步:导出为CSV文件
使用Python内置的csv模块即可完成导出,不需要安装额外依赖,将以下代码添加到主程序末尾(tablero = generar_tablero(N, palabras)之后即可):
import csv with open('单词搜索表.csv', 'w', newline='', encoding='utf-8') as csv_file: # 创建csv写入对象 writer = csv.writer(csv_file) # 逐行写入tablero的内容 writer.writerows(tablero)
运行后会在代码同级目录生成名为单词搜索表.csv的文件,内容和你打印的矩阵完全一致。
可选:用pandas快速导出
如果你已经安装了pandas库,也可以用更简洁的代码完成导出:
- 先安装依赖:
pip install pandas - 导出代码:
import pandas as pd # index=False不导出行号,header=False不导出列名 pd.DataFrame(tablero).to_csv('单词搜索表.csv', index=False, header=False, encoding='utf-8')
额外优化提示
- 你现有代码中的
pedir_dato函数递归分支没有加return,会导致第一次输入不符合要求时返回空值,修改为return pedir_dato("ERROR. Ingrese un número mayor a 10: ")即可修复该问题。
内容的提问来源于stack exchange,提问作者Pablo Romanelli
相关产品推荐
相关产品推荐

