从二维数组中删除\ n

时间:2020-11-04 10:45:12

标签: python arrays

我有以下通过读取文件创建的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?

2 个答案:

答案 0 :(得分:1)

我建议对文本文件的每一行使用strip()来删除结尾的'\ n'。

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

或者,由于您的文件包含整数,因此您可以在列表推导中将每个条目转换为整数。整数转换也将摆脱'\ n'。

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

答案 1 :(得分:0)

似乎您正在处理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的使用还可以避免一些错误,例如,如果有人在某些文件中的逗号后加空格