我的问题确实很简单,但是我不确定熊猫或任何其他图书馆是否有解决此类问题的方法。问题是我有一个.txt文件,格式为波纹管(包括文本“ This is the example ...”)。因此,由于我想读取具有该格式的多个文件,然后继续将其追加到一个数据帧。因此,我想知道是否存在一种简单的读取方式,尽管格式不均匀,没有用逗号或小数点分隔符分隔。
希望我能做到简洁明了。非常感谢您在此方面的帮助!也欢迎您提出查询建议。
我使用记事本C ++打开文件。我还上传了文件here,以防有人想要对其进行测试。
答案 0 :(得分:4)
您可以将其视为.csv
文件,但可以使用制表符(\t
)作为与逗号相对的定界符。
pd.read_csv('txt_example.txt', sep='\t', skiprows=2)
为我返回了漂亮的数据帧!
编辑:根据header
参数下面的建议,可以创建更好的输出;我们可以确保第二行不被视为数据行:
df = pd.read_csv('txt_example.txt', sep='\t', skiprows=2, header=[0,1])
df.head()
Time RtAxsXT1 RtAxsYT1 RtAxsZT1 RtPosXT1 RtPosYT1 RtPosZT1 YawErrT1 TIAmbT1 CtT1N01 ... WkDfVrT3N17D7 WkDfVrT3N18D7 WkDfVrT3N19D7 WkDfVrT3N20D7 W3VAmbX W3VAmbY W3VAmbZ W3VDisX W3VDisY W3VDisZ
(s) (-) (-) (-) (m) (m) (m) (deg) (percent) (-) ... (m/s) (m/s) (m/s) (m/s) (m/s) (m/s) (m/s) (m/s) (m/s) (m/s)
0 0.0 0.9962 0.0 -0.08716 995.0 1000.0 90.0 0.3525 12.28 0.0 ... 0.0 0.0 0.0 0.0 5.902 -0.09767 -0.009375 5.684 -0.09767 0.00971
1 2.0 0.9962 0.0 -0.08716 995.0 1000.0 90.0 1.4390 12.17 0.0 ... 0.0 0.0 0.0 0.0 5.872 -0.16040 0.283000 5.653 -0.16210 0.30040
2 4.0 0.9962 0.0 -0.08716 995.0 1000.0 90.0 0.9589 12.00 0.0 ... 0.0 0.0 0.0 0.0 6.031 -0.11650 0.593000 5.812 -0.11820 0.61040
3 6.0 0.9962 0.0 -0.08716 995.0 1000.0 90.0 2.0930 11.96 0.0 ... 0.0 0.0 0.0 0.0 6.245 0.24430 0.733700 6.025 0.24260 0.75120
4 8.0 0.9962 0.0 -0.08716 995.0 1000.0 90.0 3.1810 12.12 0.0 ... 0.0 0.0 0.0 0.0 6.483 0.79060 0.681000 6.261 0.78890 0.69870
5 rows × 1069 columns