将csv文件平均分成5份的代码
时间: 2024-01-07 10:47:37 浏览: 29
以下是 Python 代码示例,可以将给定的 CSV 文件平均分成 5 份。
```python
import pandas as pd
# 读取原始 CSV 文件
df = pd.read_csv('input.csv')
num_rows = len(df)
# 计算分块大小
chunk_size = num_rows // 5
# 分块写入新文件
for i in range(5):
start = i * chunk_size
end = start + chunk_size if i < 4 else num_rows
chunk = df[start:end]
chunk.to_csv(f'output_part_{i}.csv', index=False)
```
这段代码使用 Pandas 库读取了 `input.csv` 文件,并计算出每个分块的行数。然后,通过循环遍历 5 次,按顺序将每个分块写入名为 `output_part_i.csv` 的新文件中,其中 `i` 是分块的索引号。最后,使用 `index=False` 参数确保 CSV 文件中不包含行索引。
相关问题
将csv文件平均分成5份,并将多出来的放入最后一份中去的代码
以下是将CSV文件平均分成5份的Python代码示例:
```python
import pandas as pd
# 读取CSV文件
df = pd.read_csv("your_file.csv")
# 计算每份数据的大小
chunk_size = len(df) // 5
remainder = len(df) % 5
# 分割数据
chunks = []
start = 0
for i in range(5):
end = start + chunk_size
if i < remainder:
end += 1
chunks.append(df.iloc[start:end])
start = end
# 将分割后的数据保存为CSV文件
for i in range(5):
chunks[i].to_csv(f"output_chunk_{i+1}.csv", index=False)
```
这份代码将CSV文件分成了5份,并将多出来的数据放入了最后一份中。如果您的CSV文件有表头,可以将`index=False`参数传递给`to_csv`函数来避免将表头写入每份输出文件。
将csv文件平均分成5份,并将不能被平均分的部分放入另一个文件中去
可以使用Python中的pandas库来处理CSV文件。首先需要读取CSV文件,然后获取文件的行数,并计算出每个文件应该包含的行数。然后使用pandas库的head函数和tail函数来选择需要分割的行,再使用to_csv函数将每个部分保存为一个新的CSV文件。对于不能被平均分的部分,可以使用pandas库的iloc函数来选择需要保存的行,再次使用to_csv函数将其保存为另一个CSV文件。以下是Python代码示例:
```
import pandas as pd
import math
# 读取CSV文件
df = pd.read_csv('input.csv')
# 获取文件总行数
total_rows = df.shape[0]
# 计算每个文件应包含的行数
rows_per_file = math.ceil(total_rows / 5)
# 分割CSV文件
for i in range(5):
start_row = i * rows_per_file
end_row = (i + 1) * rows_per_file
if end_row > total_rows:
end_row = total_rows
filename = f'part{i+1}.csv'
df.iloc[start_row:end_row].to_csv(filename, index=False)
# 处理不能被平均分的部分
if end_row < total_rows:
filename = 'remainder.csv'
df.iloc[end_row:].to_csv(filename, index=False)
```
注意,以上代码是一个简单的示例,需要根据实际情况进行修改,例如文件路径、文件名等。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)