我有以下通过读取文件创建的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?
答案 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
的使用还可以避免一些错误,例如,如果有人在某些文件中的逗号后加空格