在 Python 中读取 ASCII 文件(numpy 数组?)

发布于 2024-12-05 19:50:36 字数 326 浏览 1 评论 0原文

我在 Python 中读取 ASCII 文件时遇到问题。这是该文件的示例: http://pastebin.com/CTwwPPKA

我尝试使用 numpy 的 genfromtxt:

data = np.genfromtxt("example.txt")

但是这样我无法正确读取日期和时间,因为它们应该是日期时间对象。 另一方面,loadtxt只能读取浮点值,这也是不可接受的。

您能否建议我一种正确读取此类文件的方法?

I have a problem reading ASCII file in Python. Here's an example of the file: http://pastebin.com/CTwwPPKA

I tried using numpy's genfromtxt:

data = np.genfromtxt("example.txt")

But this way I cannot read dates and times properly since they should be datetime objects.
On the other hand, loadtxt can only read float values, which is also not acceptable.

Could you please suggest me a way to properly read that kind of file?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

独闯女儿国 2024-12-12 19:50:36

你必须在这里使用dtype选项。

x = np.genfromtxt("example.txt", dtype=None)
print(x[0])

这里的技巧是

('DATA', 34967565, '2011-08-04', '19:00:00:081', 0.0272448, -0.17718500000000001, 4.2143899999999999, 524.57600000000002, 17.485499999999998, 101.07599999999999, 0.45927400000000002, 0.19031300000000001, 0.100296, 0.97492599999999996, 1.94354, 100.73399999999999, 12.538600000000001, 10.3786, 44318.5, 39605.5, 39234.5, 40298.0, 68)

你必须将dtype指定为None,以便numpy可以自动识别字符串和数字,而默认的dtype > 是浮动的。

然后您可以使用 datetime.strptime 将字符串转换为日期时间相应的对象。

you have to use dtype option here.

x = np.genfromtxt("example.txt", dtype=None)
print(x[0])

and you will get

('DATA', 34967565, '2011-08-04', '19:00:00:081', 0.0272448, -0.17718500000000001, 4.2143899999999999, 524.57600000000002, 17.485499999999998, 101.07599999999999, 0.45927400000000002, 0.19031300000000001, 0.100296, 0.97492599999999996, 1.94354, 100.73399999999999, 12.538600000000001, 10.3786, 44318.5, 39605.5, 39234.5, 40298.0, 68)

The trick here is that you have to specify dtype to None so that numpy can automatically recognize strings and numbers, while the default dtype is float.

Then you can use datetime.strptime to convert the strings to datetime objects accordingly.

把回忆走一遍 2024-12-12 19:50:36

您想要使用 csv.reader() 使用 csv.excel_tab 方言。

csv 使用示例

You want to use csv.reader() with the csv.excel_tab dialect.

Examples of csv usage

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文