python - 我有一个文本文件(12 列和 10K 行)。我想从文本文件加载数据并馈送到二维数组
问题描述
我有一个文本文件(12 列和 10K 行)。我想从文本文件加载数据并馈送到二维数组。文本文件包含以下数据 -
(3,9,16,40,41,44)
(15,25,26,41,45,46)
(1,6,21,27,39,48)
(7,20,26,29,39,42)
(17,23,25,29,30,43)
我知道如何从文本文件中导入数据。我试图编码
file = open('Data.txt','r')
input=[]
for line in file.readlines():
input.append(line)
print (input)
但得到这样的输出
['(3,9,16,40,41,44) \n', '(15,25,26,41,45,46)\n', '(1,6,21,27,39,48)\n', '(7,20,26,29,39,42)\n', '(17,23,25,29,30,43)\n']
我怎样才能从输出中消除'
和\n
得到输出,如下所示
[(3,9,16,40,41,44), (15,25,26,41,45,46), (1,6,21,27,39,48), (7,20,26,29,39,42), (17,23,25,29,30,43)]
我试着用
import numpy as np
input = np.loadtxt("Data.txt", dtype='str')
print(input)
但输出非常相似,因为数据被读取为字符串。任何建议都非常感谢。-谢谢
解决方案
尝试这个:
with open('Data.txt','r') as file:
result = [tuple(map(int, line.strip(' \n()').split(','))) for line in file]
print(result)
[(3, 9, 16, 40, 41, 44),
(15, 25, 26, 41, 45, 46),
(1, 6, 21, 27, 39, 48),
(7, 20, 26, 29, 39, 42),
(17, 23, 25, 29, 30, 43)]
我相信这是您想要的输出。
第一步是去除空格和括号 ( line.strip(' \n()')
)。然后,将其拆分为逗号 ( .split(',')
) 列表,然后将字符串列表转换为整数元组 ( tuple(map(int, )
)。
推荐阅读
- javascript - 在for循环中使用时如何为按钮标签提供动态ID
- python - 尝试在 Python 中发送发布请求以从网站下载 csv 文件
- c# - 图像压缩导致 C# 中某些图像的方向错误
- java - 资源泄漏:'yourName' 从未关闭
- sql-server - SSRS 13 (SQL 2016) 报告缓存问题
- python - 如何将搜索功能添加到“list_filter”的输入栏?
- visual-studio-code - 在 Visual Studio Code 中,一个包含文件的文件夹会在一段时间后被删除
- java - 为什么在 Java 应用程序中使用 JPA Hibernate 元模型类?
- dataframe - 计算所有列的方差并打印结果
- python - Python 3.9.8 使用 Black 并导入 `typed_ast.ast3` 失败