在Python中分割CSV文件可以通过多种方法实现,以下是使用`pandas`和`csv`模块的两种常见方法:
使用`pandas`库
import pandas as pd读取CSV文件data = pd.read_csv('input.csv')分割数据为多个子集chunks = [data[i:i + 100] for i in range(0, data.shape, 100)]保存每个子集到不同的CSV文件for i, chunk in enumerate(chunks):chunk.to_csv(f'output_part_{i}.csv', index=False)
使用`csv`模块
import csvimport osdef split_csv(file_path, delimiter=',', chunk_size=1000):with open(file_path, 'r', newline='') as f:reader = csv.reader(f, delimiter=delimiter)lines = list(reader)计算需要分割的块数num_chunks = (len(lines) + chunk_size - 1) // chunk_size创建输出文件路径output_dir = os.path.dirname(file_path)for i in range(num_chunks):start = i * chunk_sizeend = min((i + 1) * chunk_size, len(lines))output_file = os.path.join(output_dir, f'split_{i}.csv')写入数据到新的CSV文件with open(output_file, 'w', newline='') as f:writer = csv.writer(f)writer.writerows(lines[start:end])调用函数split_csv('input.csv')
以上代码展示了如何使用`pandas`和`csv`模块分割CSV文件。`pandas`方法更简洁,适合处理大型数据集;`csv`方法则提供了更多的控制,比如自定义分隔符。
请根据您的具体需求选择合适的方法。

