python - 将文件读取为元组列表

标签 python

我想使用 Python 读取一个文本文件。我的列表必须是这样的:

mylist = [(-34.968398, -6.487265), (-34.969448, -6.488250),
          (-34.967364, -6.492370), (-34.965735, -6.582322)]

我的文本文件是:

-34.968398,-6.487265
-34.969448,-6.488250
-34.967364,-6.492370
-34.965735,-6.582322

我的 Python 代码:

f = open('t3.txt', 'r')
l = f.readlines()
print l

我的结果:

['-34.968398 -6.487265\n', '-34.969448 -6.488250\n', 
 '-34.967364 -6.492370\n', '-34.965735 -6.582322\n']

最佳答案

像这样读取分隔数据的最有效方法之一是使用 numpy.genfromtxt .例如

>>> import numpy as np
>>> np.genfromtxt(r't3.txt', delimiter=',')
array([[-34.968398,  -6.487265],
       [-34.969448,  -6.48825 ],
       [-34.967364,  -6.49237 ],
       [-34.965735,  -6.582322]])

否则,您可以使用列表理解来逐行读取,在 ',' 上拆分,将值转换为 float,最后生成一个 列表>元组

with open('t3.txt') as f:
    mylist = [tuple(map(float, i.split(','))) for i in f]

请注意,当您使用 with 打开文件时,它会自行关闭,因此您不必关闭。

关于python - 将文件读取为元组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28090960/

相关文章:

python - 用Python读取 block 数据?

python - 处理 Watchdog 的 OSError

python - 在 youtube_dl 进度 Hook 中获取下载视频的 URL

python - 将 cookie 字符串转换为 Python 字典

python - 如何在不更改 matplotlib 默认值的情况下使用 seaborn?

python - 如何中断 python 中的阻塞方法?

python - 使用多相机的 3D 点投影

python - SQLalchemy:更改未提交到数据库

python - python xgoogle 库的问题。如何增加 10 个结果的限制?

python - 404 错误 - Twilio Python 快速入门