Python:读取文件以在数组中存储数据的有效方法

Python:读取文件以在数组中存储数据的有效方法,python,Python,我有一个txt文件,其结构如下: @<TRIPOS>MOLECULE 2bsm_lig.pdb 45 47 0 0 0 SMALL USER_CHARGES @<TRIPOS>ATOM 1 CL25 43.5837 12.4179 37.4396 Cl 1 BSM1 -0.1770 2 N1 40.4187 9.0729 42.8516 N.ar 1 BSM1

我有一个txt文件,其结构如下:

@<TRIPOS>MOLECULE
2bsm_lig.pdb
45 47 0 0 0
SMALL
USER_CHARGES

@<TRIPOS>ATOM
  1 CL25       43.5837   12.4179   37.4396    Cl      1  BSM1       -0.1770
  2 N1         40.4187    9.0729   42.8516    N.ar    1  BSM1        0.2996
  3 H1         40.0025    9.0411   43.7713    H       1  BSM1        0.2700

我已经使用Pandas(在python3上)完成了这个操作,但是对于我的程序来说太慢了,因为这个操作将在一个大循环上执行。您知道读取这些数据并将其存储在一个阵列中的最有效方法吗?我可以存储在单个列表或numpy数组中。

这已经得到了详细的回答

pandas可以灵活地使用
chunksize
参数以小块的形式读取大数据集

您可以尝试以下方法:

chunk_df = read_csv(<your_file_here>, iterator=True, chunksize=10000)  # Return TextFileReader object for iteration. See the IO Tools docs for more. 
chunk_df=read_csv(,iterator=True,chunksize=10000)#返回TextFileReader对象进行迭代。有关更多信息,请参阅IO工具文档。

.

用迭代器自己解析,以避免内存开销HunkSize做到了这一点。谢谢
chunk_df = read_csv(<your_file_here>, iterator=True, chunksize=10000)  # Return TextFileReader object for iteration. See the IO Tools docs for more.