# How to import a series of files with Programmable Source

**URL:** https://discourse.paraview.org/t/how-to-import-a-series-of-files-with-programmable-source/9496
**Category:** ParaView Support
**Created:** [April 22, 2022, 1:11am UTC](https://discourse.paraview.org/t/how-to-import-a-series-of-files-with-programmable-source/9496 "2022-04-22T01:11:20Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![wu\_ying](https://discourse.paraview.org/user_avatar/discourse.paraview.org/wu_ying/32/9035_2.png) [@wu\_ying](https://discourse.paraview.org/u/wu_ying)
#### Post date: [April 22, 2022, 1:11am UTC](https://discourse.paraview.org/t/how-to-import-a-series-of-files-with-programmable-source/9496/1 "2022-04-22T01:11:20Z")

</div>

How to import a series of files with Programmable Source, the attachment is the import code for a single file

import numpy as np  
import struct

try:  
with open(r’c:\00yf\dh2\bin2-time0.raw’, “rb”) as f:  
contents = f.read()

```
    bytesnum = int((len(contents) - 4)/3) # 某一个分量占的字节总数，其中减去的4个为换行符
    realnum = int(bytesnum/4) #某一分量的个数      

    numlist = []
    i = 0
    while True:
        if (i+4) <= len(contents):
            bytetoascii = struct.unpack('f', contents[i:i+4])
            
            bytetoasciishort = round(bytetoascii[0], 3)
            
            numlist.append(bytetoasciishort)

            i += 4                

            if (i == bytesnum):
                i = bytesnum + 2
            elif (i == bytesnum*2 + 2):
                i = bytesnum*2 + 4

        else:
            break

x = np.array(numlist[:realnum])
y = np.array(numlist[realnum:realnum*2])
z = np.array(numlist[realnum*2:])

```

except IOError:  
print(“Error While opening the file!”)

# data = np.genfromtxt(r’D:\test\PointCloud\temp.txt’, dtype=None, names = None, delimiter=‘,’, unpack = False)

#output.RowData.append(data[:,0] , ‘x’)  
#output.RowData.append(data[:,1] , ‘y’)  
#output.RowData.append(data[:,2] , ‘z’)  
output.RowData.append(x , ‘x’)  
output.RowData.append(y , ‘y’)  
output.RowData.append(z , ‘z’)
