求解编写一个程序,生成一个10×10的随机矩阵并保存文件,再写程序将刚才的文件保存为CSV格式,用excel或文本编辑器查看保存的CSV文件是否正确

问题遇到的现象和发生背景

问题背景:编写一个程序,生成一个10×10的随机矩阵并保存文件,再写程序将刚才的文件保存为CSV格式,用excel或文本编辑器查看保存的CSV文件是否正确

遇到的现象和发生背景,请写出第一个错误信息

错误应该是出在第二个即transcsv函数中的for循环中,但我也不知道为什么

用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
import random
def createfiles(min,max,filename):
    f=open("{}.txt".format(filename),"w")
    for i in range(0,10):
        content=''
        for j in range(0,10):
            content=content+str(random.randrange(min,max))+" "
        f.write(content+"\n")
    f.close()
def transcsv(txtname,csvname):
    f1=open("{}.txt".format(txtname),"r")
    f2=open("{}.txt".format(csvname),"w")
    a=f1.readlines()
    for row in a:
        f2.write(','.join(row)+'\n')
    f1.close()
    f2.close()
createfiles(1,20,"help")
transcsv("help","transhelp")
运行结果及详细报错内容

img

img

我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%

编写两个函数,第一个函数为createfiles,在该函数中用random库中的randrange函数生成随机矩阵,并将矩阵存入文件中
之后编写transcsv函数,在该函数中首先读取之前生成的文件,并用Join函数在该文件中插入‘,',并将内容写到f2(转换后的csv文件
)中

在transcsv函数中,你使用了f2.write(','.join(row) + '\n')来将文本文件转换为csv文件。这会将整行字符串作为一个参数传递给join函数,而不是每个单独的元素。

应该改为:

    for row in a:
        f2.write(','.join(row.split()) + '\n')

没看懂你这是在折腾啥呢
不是说好了存csv吗,你为什么转存完还是txt呀