读取和拆分.raw文件以进行数据处理

时间:2017-02-26 13:47:45

标签: python file

基本上我有输出格式.raw中的机械测试数据,我想用Python访问它。

需要使用分隔符";"分割文件。所以它包含13列。 通过这样做,我们的想法是索引和提取所需的信息,在我的例子中是"扩展mm"和#34;加载N"将值作为第41行中的数组以创建绘图。

我从未使用.raw文件,我不知道该怎么做。

该文件可以在这里下载: https://drive.google.com/file/d/0B0GJeyFBNd4FNEp0elhIWGpWWWM/view?usp=sharing

希望有人可以帮助我!

2 个答案:

答案 0 :(得分:1)

您的文件看起来基本上像.tsv,有40行要跳过。你能试试吗?

import csv

#export your file.raw to tsv
with open('TST0002.raw') as infile, open('new.tsv', 'w') as outfile:
    lines = infile.readlines()[40:]
    for line in lines:
        outfile.write(line)

或者,如果您想在两列上直接进行一些数据分析:

import pandas as pd

df = pd.read_csv("TST0002.raw", sep="\t", skiprows=40, usecols=['Extension mm', 'Load N'])

print(df)

输出:

   Extension mm       Load N
0       -118.284    0.1365034
1       -117.779  -0.08668576
2       -117.274   -0.1142517
3       -116.773   -0.1092401
4       -116.271   -0.1144083
5        -11.577   -0.1314806
6       -115.269  -0.03609632
7       -114.768  -0.06334914
....

答案 1 :(得分:1)

你可以将原始文件转换为csv文件然后使用csv模块记得设置delimeter =' '否则默认情况下它将逗号作为分隔符

import csv with open('TST0002.csv', 'r') as csvfile: reader = csv.reader(csvfile, delimiter=' ') for row in reader: //this will read each row line by line print (row[0]) //you can use row[0] to get first element of that row.