帮我写一个程序,遍历文件中所有的csv文件,随机删除5%行数据,对原文件重复删除10次,输出数据为csv格式,命名方式为原始文件名加删除的次数
时间: 2023-07-14 20:12:29 浏览: 43
以下是一个Python实现的程序,可以遍历指定目录下所有的csv文件,随机删除5%的行数据并重复删除10次,输出数据为csv格式,命名方式为原始文件名加删除的次数:
```python
import os
import random
import csv
# 指定要遍历的目录
rootdir = '/path/to/csv/files'
# 遍历目录下的所有文件
for parent, dirnames, filenames in os.walk(rootdir):
for filename in filenames:
# 如果文件后缀是csv,则进行处理
if filename.endswith('.csv'):
filepath = os.path.join(parent, filename)
with open(filepath, 'r', newline='') as csvfile:
reader = csv.reader(csvfile)
rows = [row for row in reader]
nrows = len(rows)
# 计算需要删除的行数
n_delete = int(nrows * 0.05)
for i in range(1, 11):
# 随机选择要删除的行
delete_indices = random.sample(range(nrows), n_delete)
# 删除选定的行
new_rows = [row for idx, row in enumerate(rows) if idx not in delete_indices]
# 输出新的csv文件
new_filename = f"{filename[:-4]}_{i}.csv"
with open(new_filename, 'w', newline='') as new_csvfile:
writer = csv.writer(new_csvfile)
writer.writerows(new_rows)
print(f"{new_filename} generated.")
```
请将上述代码保存为一个Python文件,修改`rootdir`为你要遍历的目录,然后运行即可。程序将在指定目录下生成多个新的csv文件,每个文件的数据都是原始文件删除5%行数据后重复删除10次得到的。文件名的命名方式为原始文件名加删除的次数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)