WeChatReport_OS/main2024.py
PeterZhong a4cca18a42 2024
2025-01-01 01:23:29 +08:00

54 lines
1.9 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import csv
import json
import os
import datetime
from openpyxl.workbook import Workbook
from main import person, write_dict_to_excel
def csv_to_openpyxl(sourcePath: str, encode='utf-8'):
"""将csv 转为 excel.xlsx格式
如果不需要可以把计时相关代码删除
Args:
sourcePath:str 来源文件路径
savePath:str 保存文件路径,需要包含保存的文件名,文件名需要是 xlsx 格式的
encode='utf-8' 默认编码可以改为需要的编码如gbk
"""
print('开始转换%s' % sourcePath)
f = open(sourcePath, 'r', encoding=encode)
# 创建一个workbook 设置编码
workbook = Workbook()
# 创建一个worksheet
worksheet = workbook.active
workbook.title = 'sheet'
reader = csv.reader(f)
for row in reader:
worksheet.append(row)
return worksheet.iter_rows()
if __name__ == '__main__':
print("程序开始")
base_data_path = "./data2024"
date_format = "%Y-%m-%d %H:%M:%S"
datas = []
for dir in os.listdir(base_data_path):
if os.path.isdir(os.path.join(base_data_path, dir)):
for file in os.listdir(os.path.join(base_data_path, dir)):
if file.endswith(".csv"):
csv_path = os.path.join(base_data_path, dir, file)
rows = csv_to_openpyxl(csv_path)
TalkerId = ""
for row in rows:
if row[1].value != "TalkerId":
TalkerId = row[1].value
print("TalkerId: ", TalkerId)
break
data = person(TalkerId, rows)
datas.append(data)
with open("output.json", "w", encoding="utf-8") as file:
json.dump(datas, file, indent=" ", ensure_ascii=False)
write_dict_to_excel(datas, "output1.xlsx")