我有一个文本文件,它是测量结果。当对象不在正确的测量位置时,它无法进行全套测量,这会在文本文件中产生不等长的行。如何用 Python 读取它?我是否必须用空格填充文本文件中的空格?数据是什么样的:我试过的代码:from numpy import loadtxtlines = loadtxt(file_to_read, comments="#", delimiter="\t", unpack=False)但它给出了一个错误:ValueError: could not convert string to float: 'Height\tLength\tVolume\tSpeed\tWeight'然后我尝试了:file_to_read = ('/Users/path/to/file//dummy_data.txt')file_object = open(file_to_read, 'r')file_object.read()print(file_object)但它什么也没返回,我喜欢查看数据以查看其格式是否正确。
3 回答
ibeautiful
TA贡献1993条经验 获得超6个赞
使用熊猫应该可以解决问题:
import pandas as pd
pd.read_csv('data.csv', sep='\t').to_numpy()
输出:
array([[1. , 0.5, 0.2],
[0.1, nan, nan],
[nan, 0.1, 5. ]])
其中data.csv包含:
A B C
1 .5 .2
.1
.1 5
DIEA
TA贡献1820条经验 获得超3个赞
该错误消息表明您正在尝试导入标题行。使用skiprows参数 toloadtxt跳过此行:
lines = loadtxt(file_to_read, comments="#", delimiter="\t", skiprows=1, unpack=False)
慕桂英546537
TA贡献1848条经验 获得超10个赞
它还可以轻松地与 pandas 一起使用,将标题保留为列:
import pandas as pd data = pd.read_csv(file_to_read, sep='\t')
添加回答
举报
0/150
提交
取消
