-
欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手
-
️ 博客主页:一晌小贪欢的博客主页
-
该系列文章专栏:Python办公自动化专栏
-
文章作者技术和水平有限,如果文中出现错误,希望大家能指正
-
❤️ 欢迎各位佬关注! ❤️
背景
之前我写过Excel文件的按某列拆分,大家可以查看,这个小工具写的还是非常不错的:点我查看,今天我们写一个CSV文件的拆分。
注意事项
column_index = 4 # 替换为你想要根据哪一列进行拆分的索引,记住从0开始,主要就是这一行代码
f_w.writerow([这里写上你拆分后csv文件的表头,是一个列表])
目录结构:
文件夹【数据源】:存放你待拆分的csv文件
文件夹【数据源拆分结果】:拆分结果存放
完整版代码如下:
'''
@作者 :一晌小贪欢
'''
import csv
import os
def split_csv_by_column(csv_file, column_index):
split_data = {}
with open(csv_file, 'r',encoding='utf-8') as file:
reader = csv.reader(file)
header = next(reader)
for row in reader:
column_value = row[column_index]
if column_value not in split_data:
split_data[column_value] = [row]
else:
split_data[column_value].append(row)
return split_data
csv_file = './数据源/'+os.listdir('./数据源/')[0]
column_index = 4
result = split_csv_by_column(csv_file, column_index)
for key, value in result.items():
print(f"拆分后的数据,列'{key}':")
with open(f"./数据源拆分结果/{key}.csv",'w',encoding='utf-8',newline='') as f_w:
f_w = csv.writer(f_w)
f_w.writerow([这里写上你拆分后csv文件的表头,是一个列表])
for row in value:
f_w.writerow(row)
print('=========')
希望对大家有帮助
致力于办公自动化的小小程序员一枚#
都看到这了,关注+点赞+收藏=不迷路!!
如果你想知道更多关于Python办公自动化的知识各位大佬给个关注吧!