从二维数组中删除\n

2024-09-28 23:25:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下2D数组,它是通过读取文件创建的

[['1', '200', '312', '4321', '53123\n'], ['2', '234', '313', '4342', '55657\n'], ['3', '343', '454', '587\n']]

它是使用以下命令创建的

def returnDocument(PROFILE):
    with open("tbs_save.txt") as textFile:
        data = [data.split(",") for data in textFile]
    print(data)

数据是这样存储的

1,200,312,4321,53123
2,234,313,4342,55657
3,343,454,587

如何从每个数组的末尾删除\n


Tags: 命令txtfordatasavedefaswith
2条回答

我建议对文本文件的每一行使用strip(),以删除尾随的“\n”

data = [data.strip().split(",") for data in textFile]

或者,由于文件包含整数,因此可以将列表中的每个条目转换为整数。整数转换也将删除“\n”

data = [list(map(int, data.split(","))) for data in textFile]

看起来您可以处理csv文件,因此可以使用csv.reader以更方便的方式处理数据。例如:

import csv

def return_document():
    with open("tbs_save.txt") as csv_file:
        reader = csv.reader(csv_file, delimiter=",")
        data = [row for row in reader]
    print(data)

对于提供的数据示例,要输出的是:

[['1', '200', '312', '4321', '53123'], ['2', '234', '313', '4342', '55657'], ['3', '343', '454', '587']]

另外,csv.reader的用法允许您避免一些错误,例如,当有人在某些文件中的逗号后加空格时

相关问题 更多 >