一个名为1yue2.csv文件过长,使用pandas每100W行分割成若干个文件的代码
时间: 2024-09-23 10:11:56 浏览: 33
使用实现pandas读取csv文件指定的前几行
为了将一个大文件(如1yue2.csv)按每100万行拆分成多个小文件,你可以使用Pandas库配合`iterrows()`函数逐行读取文件并写入到新的CSV文件中。这里是一个简单的Python脚本示例:
```python
import pandas as pd
# 设置初始文件名和计数器
output_file = "1yue2_split_"
counter = 0
chunksize = 1e6
# 使用pandas逐块读取数据
with pd.read_csv('1yue2.csv', chunksize=chunksize) as reader:
for i, data_chunk in enumerate(reader):
# 如果当前块的最后一行超过100万行,则创建新文件
if (i + 1) * chunksize > 1000000:
output_file += f"{i+1}.csv"
data_chunk.to_csv(output_file, index=False)
counter += 1
else:
# 否则,追加到现有文件
with open(f"{output_file}", 'a') as writer:
data_chunk.to_csv(writer, header=False, index=False)
# 输出处理了多少个文件
print(f"已分割成 {counter} 个文件")
阅读全文