我有一個文本文件,它是測量結果。當對象不在正確的測量位置時,它無法進行全套測量,這會在文本文件中產生不等長的行。如何用 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條經驗 獲得超2個贊
該錯誤消息表明您正在嘗試導入標題行。使用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
提交
取消