我正在从文本文件中读取行,并将所需的数据写入pandas数据框中的行。以下代码(简化)有效,但在计算上似乎效率不高:
with open(DataFile, 'r') as file:
lines = file.readlines()
for line in lines:
data = line.strip().split("\t")
df = pd.DataFrame(np.append(df.values, [data], axis=0))
我也尝试过这个,但是速度更慢:
with open(DataFile, 'r') as file:
lines = file.readlines()
for line in lines:
i += 1
data = line.strip().split("\t")
df.loc[i] = data
是否有更有效的计算方法来做到这一点?可能会为数据帧预先分配内存?
答案 0 :(得分:1)
您可以尝试通过pandas.read_csv()
读取制表符分隔的文件:
df = pandas.read_csv(DataFile, sep='\t', lineterminator='\n')