python对数组分段写入
时间: 2024-09-16 17:05:44 浏览: 41
在Python中,如果你有一个大数组需要分段写入文件,可以使用内置的`numpy`库(如果数据是NumPy数组),或者直接操作文件流(如使用`csv`、`pickle`等模块)。这里是一个基本的例子,假设我们有大数组`data`,并将其分成几部分来写入CSV文件:
```python
import numpy as np
# 假设你的大数组data是一个二维数组
data = ... # 这里填写你的大型numpy数组
# 分块大小(例如每100行作为一个块)
chunk_size = 100
# 获取数组的行数
num_rows = data.shape[0]
# 创建一个空列表来存储文件句柄
file_handles = []
for i in range(0, num_rows, chunk_size): # 使用步长为chunk_size遍历
start = i
end = min(i + chunk_size, num_rows) # 确保不超过数组长度
# 创建一个临时文件句柄,并打开它以写入模式
with open(f"output_{i}_{end}.csv", 'w', newline='') as f:
file_handles.append(f)
np.savetxt(file_handles[-1], data[start:end], delimiter=',')
# 关闭所有文件句柄
for f in file_handles:
f.close()
```
这个例子将数组按照每100行一组分割成多个小的CSV文件。当然,你可以根据实际需求调整`chunk_size`。
阅读全文