mirror of
https://github.com/LC044/WeChatMsg
synced 2025-02-23 11:35:20 +08:00
53 lines
1.8 KiB
Python
53 lines
1.8 KiB
Python
import os
|
|
|
|
import numpy as np
|
|
import pandas as pd
|
|
from PyQt5.QtCore import pyqtSignal
|
|
|
|
|
|
class Output(QThread):
|
|
"""
|
|
发送信息线程
|
|
"""
|
|
progressSignal = pyqtSignal(int)
|
|
rangeSignal = pyqtSignal(int)
|
|
okSignal = pyqtSignal(int)
|
|
i = 1
|
|
CSV = 0
|
|
DOCX = 1
|
|
HTML = 2
|
|
|
|
def __init__(self, ta_u, parent=None, type_=DOCX):
|
|
super().__init__(parent)
|
|
self.sec = 2 # 默认1000秒
|
|
self.ta_username = ta_u
|
|
self.msg_id = 0
|
|
self.output_type = type_
|
|
self.total_num = 0
|
|
|
|
@log
|
|
def to_csv(self, conRemark, path):
|
|
origin_docx_path = f"{os.path.abspath('.')}/data/聊天记录/{conRemark}"
|
|
filename = f"{os.path.abspath('.')}/data/聊天记录/{conRemark}/{conRemark}.csv"
|
|
last_timestamp = 1601968667000
|
|
columns = ["用户名", "消息内容", "发送时间", "发送状态", "消息类型", "isSend", "msgId"]
|
|
df = pd.DataFrame()
|
|
df["用户名"] = np.array(list(map(lambda x: x[7], messages)))
|
|
df["消息内容"] = np.array(list(map(lambda x: x[8], messages)))
|
|
df["发送时间"] = np.array(list(map(lambda x: time_format(x[6]), messages)))
|
|
df["发送状态"] = np.array(list(map(lambda x: x[3], messages)))
|
|
df["消息类型"] = np.array(list(map(lambda x: x[2], messages)))
|
|
df["isSend"] = np.array(list(map(lambda x: x[4], messages)))
|
|
df["msgId"] = np.array(list(map(lambda x: x[0], messages)))
|
|
df.to_csv(filename)
|
|
# df.to_csv('data.csv')
|
|
print(df)
|
|
self.progressSignal.emit(self.num)
|
|
|
|
def run(self):
|
|
if self.output_type == self.DOCX:
|
|
return
|
|
elif self.output_type == self.CSV:
|
|
# print("线程导出csv")
|
|
self.to_csv(self.ta_username, "path")
|