首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在txt文件中打印2D数组只保存最后一行-错误地使用.join?

在txt文件中打印2D数组只保存最后一行,错误地使用.join的问题是由于使用.join方法的方式不正确导致的。

正确的使用.join方法的方式是将2D数组的每一行转化为字符串后使用.join方法连接起来。下面是一个示例代码:

代码语言:txt
复制
# 2D数组示例
array_2d = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

# 将每一行转化为字符串并使用.join方法连接起来
result = '\n'.join([' '.join(map(str, row)) for row in array_2d])

# 将结果写入txt文件
with open('output.txt', 'w') as f:
    f.write(result)

上述代码首先使用列表推导式将每一行的元素转化为字符串,并使用.join方法将每个元素之间加上空格。然后使用.join方法将每一行连接起来,每一行之间用换行符'\n'分隔。最后将结果写入txt文件中。

这种方式可以保存整个2D数组,而不仅仅是最后一行。如果只需要保存最后一行,可以进行相应修改,只取最后一行的字符串即可。例如:

代码语言:txt
复制
# 2D数组示例
array_2d = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

# 获取最后一行的字符串
last_row = ' '.join(map(str, array_2d[-1]))

# 将最后一行写入txt文件
with open('output.txt', 'w') as f:
    f.write(last_row)

这样修改后,只保存了最后一行的内容。

请注意,以上示例代码中没有涉及任何特定的云计算服务或腾讯云产品。如果需要使用特定的云计算服务来保存文件或处理数据,请根据具体情况选择相应的腾讯云产品,并参考腾讯云文档获得更多信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux的文本处理工具浅谈-awk sed grep

CONVFMT 数字转换格式(默认值为%.6g) ENVIRON 环 境变量关联数组。 ERRNO 最后一个系统错误的描述。...a.txt和b.txt两个文件相同的两个字段(id|money),输出a和b文件中相同id并且b文件money值大的一行 cat >>a.txt <<EOF 1|1 3|3 5|5 7|7 9|9...'2c 106,dandan,CSO' person.txt #替换第2行的内容 文本替换 s:单独使用,将每一行中第一处匹配的字符串进行替换 g:每一行进行全部替换 -i:修改文件内容...其他功能 备份功能 sed -i.bak '$a 1111111111' xxx.txt 备份xxx.txt文件为xxx.txt.bak,修改源文件,最后一行添加111111111 另存功能 sed '...-n 输出行行号 -E(egrep) 使用扩展正则表达式 -o 只输出匹配到的结果 -i 忽略大小写 -a 当grep认为是二进制文件的时候加-a 【基础范例】 例子1:已知文件 test.txt

3.6K41

shell脚本–sed的用法

1.sed的使用方法,调用sed 命令的语法有两种: 一.在命令行指定sed指令对文本进行处理:sed +选项 ‘指令’ 文件 二.先将sed指令保存到文件中,将该文件作为参数进行调用:sed +...:后跟保存了sed指令的文件 -i:直接对内容进行修改,不加-i时默认只是预览,不会对文件做实际修改 -n:取消默认输出,sed默认会输出所有文本内容,使用-n参数后只显示处理过的行 sed中的编辑命令...sed ‘$chello’ 1.txt #将最后一行替换为hello 示例3:删除文件中的行 sed ‘4d’ 1.txt #删除第四行 sed ‘1~2d’ 1.txt #从第一行开始删除...sed ‘s/^/#&/g’ 1.txt #在1.txt文件中的每一行开头加一个# sed ‘s/123/hello/’ 1.txt #将文件中的123替换为hello,默认只替换每行第一个...sed ‘s/$/&’haha’/’ 1.txt # 在1.txt文件的每一行后面加上”haha”字段 示例5:打印文件中的行 sed -n ‘3p’ 1.txt #打印文件中的第三行内容

3.9K20
  • Shell sed命令

    分支,从最后一行开始,条件一旦满足或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾 T label 错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处...$p' xxx.txt #打印最后1行 bbbbbb 增加文件内容 i 地址定位的上面插入 a 下面插入 [root@linux /]# cat xxx.txt|sed '1iaaaaa' xxx.txt...'$i22222' xxx.txt #文件最后一行上一行增加内容 123456 654321 aaaaaa 22222 bbbbbb 修改文件内容 c 替换指定的整行内容 [root@linux /...]# cat xxx.txt|sed '$d' #删除文件最后一行 123456 654321 aaaaaa 对文件进行搜索替换操作 语法:sed 选项 's/搜索的内容/替换的内容/动作' 需要处理的文件...#454545454545 #454545454545 定界符 以下命令中字符 / 在sed中作为定界符使用,也可以使用任意的定界符 sed 's:test:TEXT:g' sed 's|test|

    1.4K10

    Linux Shell工具篇 - 内容处理工具sed

    -i 直接对内容进行修改,不加-i时默认只是预览,不会对文件做实际修改。 -f 后跟保存了sed指令的文件。 -n 取消默认输出,sed默认会输出所有文本内容,使用-n参数后只显示处理过的行。...`,则每一行前面都会添加: sed '/itheima/ihello' sed.txt 运行效果 1.3 在最后一行前或后添加数据 在最后一行后面添加hello: sed '$ahello' sed.txt...# $a 最后一行后面添加 运行效果 在最后一行前面添加hello sed '$ihello' sed.txt # $i 最后一行前面添加 运行效果 2.删除文件中的数据 2.1 删除目标行.../chello' sed.txt 运行效果 3.3 将最后一行修改为hello sed '$chello' sed.txt 运行效果 3.4 将文件中的指定字符替换为hello 将文件中的itheima...替换为hello , 将替换后的内容写入到sed2.txt文件中 # 第一种方式 sed -n 's/itheima/hello/2pw sed2.txt' sed.txt # w写入 # p打印,

    1.5K20

    linux运维中的命令梳理(三)

    ] # sed '$d' ab #删除最后一行 [root@localhost ruby] # sed '1,2d' ab #删除第一行到第二行...即为支持sed命令的文件 使用重定向文件即可保存sed的输出 使用sed在文本中定位文本的方式: x x为一行号,比如1 x,y 表示行号范围从x到y,如2,5...只在第3行查找movie并打印 显示整个文件: sed -n '1,$'p temp.txt $为最后一行 任意字符: sed -n '/....由于hash不是顺序存储,因此在显示数组内容时会发现,它们并不是按照你预料的顺序显示出来的。数组和变量一样,都是在使用时自动创建的,awk也同样会自动判断其存储的是数字还是字符串。...-s选项,删除文件中重复并且在string1中出现的字符,只保留一个。

    8.1K81

    shell文本处理工具sed、cut、awk

    不打印模式空间中的内容,而是仅打印和sed命令匹配的内容 -i 直接对源文件进行修改(慎用) 动作说明: a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~ c :...nl testfile | sed '2d' 删除第3行~到最后一行 $代表最后 nl testfile | sed '3,$d' 插入 在第二行后(即加在第三行) 加上drink tea nl.../' a.txt > b.txt 首先sed是有一个默认输出的,也就是将所有文件内容都输出,加上命令行中的替换,那么输出结果就是下面这样 [root@centos6 ~]# cat b.txt asdf...> b.txt 这行就是sed -n屏蔽默认输出然后s替换,p再将匹配到的内容打印出来,所以只显示了一行,也就是匹配到的那一行 [root@centos6 ~]# cat b.txt asdf;aaaa...1 列和第 6 列,以--分割,且在开头第一行的上面添加一行列名“1 列”“6 列”,以--分隔,在最后一行的下面添加一行内容"这是所有的以 a 开头的行的 1、6 两列"。

    57020

    Shell三大利器之sed

    sed (stream editor)流编辑器也是linux中的一条命令,在shell中经常需要用到的非交互式修改文件内容的命令。sed处理文本是按行处理,也就是读一行处理一行。...sed的常用参数 -n 屏蔽默认输出;如果不加-n选项会全部输出文本满足条件的行再重复输出 -r 如果使用扩展正则,则需要添加-r选项,默认不支持扩展正则,只支持标准正则 -i 直接修改源文件;不加-i...只会在屏幕临时输出不会修改源文件,一般测试过命令无误才会在脚本中使用-i选项 sed常用命令 a 在当前行后添加一行或多行。...x 交换暂存缓冲区与模板空间的内容 y 将字符替换为另一字符(不能对正则表达式使用y命令) p 打印行,常与-n一起用 = 打印当前行号码。...T 错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。

    2.1K00

    awk 使用教程 - 通读篇(30分钟入门)

    ,只会执行一次,在通过stdin读入数据前就被执行; 从文件内容中读取一行,注意awk是以行为单位处理的,每读取一行使用 pattern{commands} 循环处理 可以理解成一个for循环,这也是最重要的部分...第一个例子,获得/etc/passwd文件种每行的地1个和第7个数据,以逗号分隔,并再第一行和最后一行打印一串文字。...(从0开始算) ARGV 包含命令行参数的数组 CONVFMT 数字转换格式(默认值为%.6g) ENVIRON 环境变量关联数组 ERRNO 最后一个系统错误的描述 FIELDWIDTHS 字段宽度列表...=1{a[$2]++;} END {for (i in a) print i ", " a[i];}' top.txt york, 2 root, 9 这个例子用一个数组统计不同用户的进程个数,并在最后用循环打印出来...将上面例子中cpu大于0的保存到cpu.txt文件 shell> awk 'BEGIN {sum=0} {if($9>0){printf "%-8s %-8s %-8s %-18s\n",$1,$2,$9

    18.3K224

    python小知识

    (五)在创建python脚本的时候,我们要永远使用.py作为文件名扩展。永远不要在文件名中使用中划线(-)。...,我们倾向于直接保存为文件,当我们修改某些参数后再一次运行时,之前运行时生成的文件就被覆盖了。...path = os.path.join(directory + os.sep + file_name) return path如果使用如下创建文件的代码测试:path = r'D:\test.txt'for...Python 字符分割时,只分割最后一个(rsplit的使用)Python 字符分割时,只分割最后一个(rsplit的使用)在python分割时,有时候不是把整个字符分割,而是只分割部分,例如:我要分割文件路径...特别是对于特别长的数据打印,print()输出结果都在一行,不方便查看,而pprint()采用分行打印输出,所以对于数据结构比较复杂、数据长度较长的数据,适合采用pprint()打印方式。

    7010

    Sed..

    T label # 错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。 w file # 写并追加模板块到file末尾。...sed用法实例 替换操作:s命令 替换文本中的字符串: sed 's/book/books/' file -n选项 和 p命令 一起使用表示只打印那些发生替换的行: sed -n ‘s/test/TEST.../p’ file 直接编辑文件 选项-i ,会匹配file文件中每一行的所有book替换为books: sed -i 's/book/books/g' file 全面替换标记g 使用后缀 /g 标记会替换每一行中的所有匹配...,$d' file 删除文件最后一行: sed '$d' file 删除文件中所有开头是test的行: sed '/^test/'d file 已匹配字符串标记& 正则表达式 \w+ 匹配每一个单词,使用.../ABCDE/' file 退出:q命令 打印完第10行后,退出sed sed '10q' file 保持和获取:h命令和G命令 在sed处理文件的时候,每一行都被保存在一个叫模式空间的临时缓冲区中,除非行被删除或者输出被取消

    1.6K20

    linux中sed命令总结

    T label # 错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。 w file # 写并追加模板块到file末尾。...sed用法实例 替换操作:s命令 替换文本中的字符串: sed 's/book/books/' file -n选项 和 p命令 一起使用表示只打印那些发生替换的行: sed -n s/test/TEST.../p file 直接编辑文件 选项-i ,会匹配file文件中每一行的所有book替换为books: sed -i 's/book/books/g' file 全面替换标记g 使用后缀 /g 标记会替换每一行中的所有匹配.../ABCDE/' file 退出:q命令 打印完第10行后,退出sed sed '10q' file 保持和获取:h命令和G命令 在sed处理文件的时候,每一行都被保存在一个叫模式空间的临时缓冲区中,...#偶数行 方法2: sed -n '1~2p' test.txt #奇数行 sed -n '2~2p' test.txt #偶数行 打印匹配字符串的下一行 grep -A 1 SCC URFILE

    3.2K20

    Linux系统开发: 学习linux三剑客(awk、sed、grep)(上)

    -c 只计算显示符合范本样式的行数,不显示详细内容 -d 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep命令将回报信息并停止动作。...-o 只输出文件中匹配到的部分。 --color=auto 把匹配部分标记出来,要想当前终端后续使用都要标记匹配部分,可用alias命令重新封装grep。....txt #或者直接使用-E参数指定使用正则表达式,则可不加转义 $ grep "[1-3][1-3]" 123.txt #与上面相同效果,也表示在123.txt中查找1-3之间数字出现两次的内容...T label 错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。 w file 写并追加模板块到file末尾。...#在123.txt的第8行到10行替换为一行hello 一行内执行多条命令 需用到选项参数-e/--expression= 以选项中的指定的脚本来处理输入的文本文件

    9.3K21

    【数据处理】sed原理及使用举例(快速理解核心)

    “暂存区域” [原理概念] 执行步骤: 1)读入一行数据到模式空间 2)在模式空间执行sed命令 3)将更新/修改后的内容输出 4)清空模式空间,并重复第一步,直到文件结束 [执行流程] 联想记忆:...$ sed 's/test/mytest/g' example #s选项和p标志一起使用表示只打印那些发生替换的行。也就是说,如果某一行开头的test被替换成mytest,就打印它。...i\: 在当前行上面插入文本 c: 用新的文本改变本行的文本 q: 退出Sed r: 从file中读行 w: 表示把行写入一个文件 (W: 追加) =: 打印当前行号码 #: 把注释扩展到下一个换行符以前...# 这里引号必须为双引号 #删除最后一行 sed -i '$d' filename 打印带有hello段落(段和段之间用空隔分开) d后面的操作不执行(直接跳到下一行) 比较复杂,直接忽略: sed...EOF awk -v RS=' ' "/hello/" test.txt 3333hello 4444 删除文件最后五行内容 维持一个队列: 2-5行循环执行a,即N操作 第6行的时候,打印模式空间中的第

    3.2K546

    笨办法学 Java(四)

    使用其他东西,比如一个可以在添加条目时自动增长的数组。这实际上可能是正确的解决方案,但是“其他东西”超出了本书的范围。 读取文件两次。首先只计算记录的数量,然后使用完美大小创建数组。...在第 25 行,您将看到我们当前房间变量的定义,它保存了玩家所在房间的房间号。他们从房间0开始,这是文件中的第一个房间。在第 26 行是String ans 的声明,它将保存玩家输入的内容。...首先:它是房间数组中下一个可用槽的索引。但其次,它用于双重检查文件中的房间号和房间的槽号是否相同。如果不是,游戏数据文件中可能存在某种错误。...只要文件中还有未见过的内容,它就会继续进行。这里存在潜在的错误:如果数据文件顶部的房间数量是错误的,那么这个循环可能会在数组中走得太远并导致错误。...因此,第 107 行调用nextLine()方法,但不必在任何地方存储它的返回值,因为它不会读取任何值值得保存。 第 109 行从文件中读取房间名称。我们只在调试时使用这个。

    10210

    生信人的自我修养:Linux 命令速查手册(全文引用)

    ll了,更方便 ll -h # 以人类可读的方式显示文件大小 ll -t # 以文件的修改时间排序,最新修改的在最前面 ll -tr # 以文件的修改时间排序,最新修改的在最后面...result.txt 文件中。...AA替换成BB,只替换一行中第一次出现的AA,替换后的结果输出到屏幕 sed 's/AA/BB/g' file # 将文件中的所有AA都替换成BB,替换后的结果输出到屏幕 sed -i 's/AA/BB...记录与字段 记录是一次读入的内容,通常是文件的一行,保存在字段变量 0中,记录可以被分割成字段,保存在变量 1, 2,..., NF 中。...表达式与操作符 Awk 表达式的符号与 C 语言的类似,基本的表达式有数字,字符串,变量,字段,数组以及函数调用。变量无需声明,它们在首次使用时被初始化为null。

    4K40

    用 console 画条龙?

    image-20210603104148209.png console输出信息的方法都可以接收多个以逗号分隔的参数,打印的时候会在同一行进行显示,不会换行,想要换行的话请使用console方法打印多次。...使用canvas获取到图片的像素数据后,使用两层循环嵌套,外层遍历高,内层遍历宽,迭代高的时候添加一个换行符\n,迭代宽的时候,根据当前像素点的r、g、b信息判断是添加空字符还是非空字符,最后拼接完成的字符就是我们要打印的字符...相爱 场景1:怎么更方便的打印对象 对象,我们都知道它是引用类型,平时开发中,我们经常会打印某个对象或数组,如果没有修改它的话当然没有什么问题,但是如果中途对它有多次修改,又想看每次修改后的这一时刻的数据...,不传则使用stdout ignoreErrors:在写入底层流时忽略错误 */ new Console(stdout[, stderr][, ignoreErrors]) 复制代码 默认的全局console...是输出到标准输出流和标准错误流,相当于: new Console(process.stdout, process.stderr) 复制代码 那么你完全可以选择把日志输出到指定的文件里: const output

    81630

    C文件读写

    也可以在windows上使用形如F:/projects/data.txt的绝对路径,在F盘下的project文件夹中,创建data.txt文件。...但是,仅仅做了“回车”还不够,我们还需要将纸张上移一行,让“字车”对准新的空白一行。否则,两行字将被重叠打印在一起。这个动作被称作“换行”。 随着时代的发展,字符不仅仅只打印在纸上。...例如,在屏幕上打印字符时,无需“字车”。 所以,当人们将开始新的一行引入到计算机上时,分成了两种惯例: 沿用这两个动作,回车加换行\r、\n。 简化为仅换行\n。...stream文件结构指针 例如,我们先声明100个字节的 char 类型的数组,数组名为 str ,用于放置从文件中读取的一行字符串。...若文件中有一行超过100个字符,将这一行字符串放置到str数组中,将导致越界。因此,我们可以使用第二个参数num来限制最大读取的字符数。第三个参数则是文件结构指针。

    3.6K20

    python数据分析——详解python读取数据相关操作

    使用python I/O 读取CSV文件 使用python I/O方法进行读取时即是新建一个List 列表然后按照先行后列的顺序(类似C语言中的二维数组)将数据存进空的List对象中,如果需要将其转化为...numpy 数组也可以使用np.array(List name)进行对象之间的转化。...读取csvfile中的文件 birth_header = next(csv_reader) # 读取第一行每一列的标题 for row in csv_reader: # 将csv 文件中的数据保存到...#将每一行文件加入到list中 #第三种方法 f = open("data.txt","r") #设置文件对象 data = f.readlines() #直接将文件中按行读到list里,效果与方法...2一样 f.close() #关闭文件 好了,以上就是python中读取数据的一些常用方法,在遇到的时候肯定是首先选择pandas,读出来的就是dataframe十分方便数据切片

    3.1K30
    领券