python - 从文件中读取数组
问题描述
我需要从 2 个文件(.txt 或 .xls)中读取点作为数组,并将它们组合起来运行一个算法,将这些点拟合成一个椭圆。
从 5 列的第一个文件中,我必须读取 5 个元素的数组 X:
3586,02124 2391,50342 837,45227 -837,29681 -2385,9751
3587,69238 2387,48218 836,604 -840,75067 -2390,17529
3588,44531 2387,44556 836,00555 -840,79022 -2389,77612
3588,08203 2388,25439 836,26544 -840,17017 -2389,07544
3587,66553 2389,05566 836,53046 -839,53912 -2388,40405
3587,26636 2389,86255 836,79382 -838,91455 -2387,7168
........
从 5 列的第二个文件中,我必须读取 5 个元素的数组 Y:
843,19598 2396,10278 3579,1377 4210,15674 4209,37549
841,9397 2397,21948 3573,11963 4205,89209 4226,73926
842,01642 2397,72266 3573,06494 4202,88379 4226,93799
842,22083 2397,47974 3574,27515 4204,19043 4223,8208
842,42065 2397,20142 3575,47437 4205,52246 4220,64795
......
然后我必须创建变量 pot:
pot = (x, y)
这是计算的输入数据。第一个文件(x(1))
的第一行对应于第二个文件的第一行(y(1))
。该算法从这五个点中获取 x 和 y
(3586,02124;843,19598), (2391,50342; 2396,10278),....
并拟合椭圆。所以对于每组点(或线)我都会有一个椭圆。
总而言之,我正在寻找一个代码来读取这些点,以及哪个循环适合为每组点运行算法。
有任何想法吗?
解决方案
不完全明白你的意思,但是:
array = []
with open('test.txt', 'r') as file:
for line in file:
print(line.strip('\n').split(' '))
给我这个输出:
['3586,02124', '2391,50342', '837,45227', ' -837,29681', '-2385,9751']
['3587,69238', '2387,48218', '836,604', '', ' -840,75067', '-2390,17529']
['3588,44531', '2387,44556', '836,00555', ' -840,79022', '-2389,77612']
['3588,08203', '2388,25439', '836,26544', ' -840,17017', '-2389,07544']
['3587,66553', '2389,05566', '836,53046', ' -839,53912', '-2388,40405']
['3587,26636', '2389,86255', '836,79382', ' -838,91455', '-2387,7168']
我想你可以更进一步。您可能想再做一条,但那是您的文件在第 4 列之前的间距不一致
推荐阅读
- python - 为什么 Python 对这个总和进行四舍五入?
- python - Scrapy 不会等待第二个请求在后续链接中抓取数据
- css - 如何使用 CSS 模拟图像大小规则(保持纵横比)?
- maven - 带有 Junit 的 QAF-Cucumber:没有在 Maven 安装上执行的场景
- c# - Controls.Find() 返回 null
- python - 何时使用子类与何时在 Python 中使用 @classmethods?
- python - 训练 gru 模型时出现此错误 TypeError: unsupported operand type(s) for *: 'int' and 'NoneType'
- python - 如果列值满足语句,如何提取整个数据框行?
- python - 使用决策树进行图像分类
- memory-management - 在 C++ 中释放内存的问题(删除运算符)