![](/img/trans.png)
[英]What is an efficient way to insert large amounts of data into a MySQL table using python?
[英]Python - Efficient way to read large amounts of tabular data
我有一個包含大數字表的文件,大小大約為300 MB。 我想用Python閱讀。
數據如下所示:
-200 1 11097.4 16414.2 1
-200 1 11197.4 16414.8 1
-200 1 11297.4 16415.4 1
-200 1 11397.4 16416 1
-200 1 11497.4 16416.5 1
-200 1 11597.4 16417.1 1
-200 1 11697.4 16417.7 1
Python代碼如下所示:
with open(filename) as f:
nrow, ncol= [int(x) for x in next(f).split()]
for k in range(2):
rr = []
for i in range(nrow+1):
row = []
for j in range(ncol+1):
a = next(f).split()
row.append([int(a[0]), int(a[1]), float(a[2]), float(a[4])])
rr.append(row)
summary.append(rr)
這很慢; 讀取文件大約需要60秒鍾。 我想把時間降到10秒以內。 使它更快一點的最簡單方法是什么?
如果有幫助,我非常樂意更改數據文件格式。
使用大熊貓。 這可能是重復的,所以也請查看這些答案
import pandas as pd
import numpy as np
df = pd.read_csv("large_file.txt", sep="\s")
np.save("large_file.npz", df.values)
with load('large_file.npz') as data:
print(data.shape)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.