python-3.x - 用不同的字符串分隔数组
问题描述
我有一个包含 3 列有用数据的文本文件,我希望能够使用 numpy 在 python 中提取这些数据。文件类型是 *.nc,不是netCDF4 文件类型。它是 CNC 机床的标准文件输出类型。就我而言,它是一种 CMM(坐标测量机)。格式是这样的:
X0.8523542Y0.0000000Z0.5312869
X、Y 和 Z 是机器上的坐标轴。我的问题是,我可以用多个分隔符分隔一个数组吗?在这种情况下:“X”、“Y”和“Z”。
解决方案
你可以使用熊猫
import pandas as pd
from io import StringIO
#Create a mock file
ncfile = StringIO("""X0.8523542Y0.0000000Z0.5312869
X0.7523542Y1.0000000Z0.5312869
X0.6523542Y2.0000000Z0.5312869
X0.5523542Y3.0000000Z0.5312869""")
df = pd.read_csv(ncfile,header=None)
#Use regex with split to define delimiters as X, Y, Z.
df_out = df[0].str.split(r'X|Y|Z', expand=True)
df_out.set_axis(['index','X','Y','Z'], axis=1, inplace=False)
输出:
index X Y Z
0 0.8523542 0.0000000 0.5312869
1 0.7523542 1.0000000 0.5312869
2 0.6523542 2.0000000 0.5312869
3 0.5523542 3.0000000 0.5312869
推荐阅读
- python - 大型数据集 - 在选择列后选择特定行
- docusignapi - 通过 API 管理 DocuSign 组织
- filebeat - 使用 elasticsearch 的 filebeat 配置
- python - Keras Concatenate Layers:不同类型的连接函数之间的区别
- amazon-web-services - n个运行AWS Lambda完成后触发一个AWS Lambda
- ios - 以表单数据的形式发送正文
- vue.js - Vuejs Axios数据未显示
- java - JDBC 结果集检索 LocalDateTime
- javascript - JS 焦点可滚动的 Div
- c# - c# 简单的登录表单