你的文件看起来基本上像.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
....
但是为什么它会使负载N中的最后多个值有两个点? 像最后一行: 853 310.378 -8.992.958 这使我麻烦,因为我想将每列定义为包含整数而不是另一个问题的字符串。 –
也可以在您自己的输出中看到,Extension中的值不对应于实际值。不知何故代码将11.8284转换为118.284。你知道如何解决这个问题吗? –
我很惊讶。如果你用文本编辑器打开文件,你可以看到'Extension mm'的firts值是-118.284。其余部分,这些值与文件中的完全相同。 pandas有一个函数允许你改变列的类型(例如'df ['Load N'] = df ['Load N']。astype(int)')。但这些价值观并不那么简单。也许是另一个问题的主题。 –