HaujetZhao / CapsWriter-Offline

CapsWriter 的离线版,一个好用的 PC 端的语音输入工具
2.44k stars 192 forks source link

建议可以自定义日记文件的格式。比如我就喜欢把日记文件保存为.txt格式,因为我的md安装不正确,总是出现错误 #80

Closed GaoYuan522 closed 4 months ago

GaoYuan522 commented 4 months ago

我的要求好像是多了点。#80

HaujetZhao commented 4 months ago

Markdown 就是纯文本文件

GaoYuan522 commented 4 months ago

Markdown 就是纯文本文件

就是说可以自定义扩展名和格式,比如Word,Jpg,Excel等,更加人性化。

HaujetZhao commented 4 months ago

说的简单,换个格式。不妨你给我个 demo 代码,然后我加进去。

GaoYuan522 commented 4 months ago

说的简单,换个格式。不妨你给我个 demo 代码,然后我加进去。

以下代码由ChatGPT4生成:

import os
import pandas as pd
from datetime import datetime

# 字典来保存支持的格式和相应的文件扩展名
supported_formats = {'txt': '.txt', 'md': '.md', 'docx': '.docx', 'xlsx': '.xlsx'}

def write_to_file(data_dict, filename, format):
    extension = supported_formats.get(format.lower(), '.txt')
    filename = filename + extension

    if extension == '.xlsx':
        # 使用 pandas 库创建 DataFrame 然后写入到 Excel 文件。
        df = pd.DataFrame(data_dict)  
        df.to_excel(filename, index=False)
    else:
        with open(filename, "w") as file:
            for time, text in zip(data_dict["Time"], data_dict["Text"]):
                file.write(f'{str(time)} {text}\n')  # 以 'Time Text' 格式写入数据。

data_dict = {'Time': [], 'Text': []}

# 假设这些是时间戳和对应的语音到文本数据。
timestamps = [datetime.now(), datetime.now(), datetime.now()]
texts = ['这是一段示例文本。', '这是另一段示例文本。', '这是再一段示例文本。']

# 将时间戳和文本存储到字典中。
for timestamp, text in zip(timestamps, texts):
    data_dict['Time'].append(timestamp.strftime("%H:%M:%S"))  # 将datetime对象转换为字符串。
    data_dict['Text'].append(text)

filename = '示例文件'
format = 'xlsx'  # 格式可以是 txt, md, docx, 或 xlsx。

write_to_file(data_dict, filename, format)

作为您的不会写代码的忠实用户,我只能帮您到这儿了。#80

HaujetZhao commented 4 months ago

chatgpt 只给你结果,但不保证结果的正确性、可运行性

GaoYuan522 commented 4 months ago

chatgpt 只给你结果,但不保证结果的正确性、可运行性

这个我知道,但作为您的客户,我尽可能的提出客户所需要的,然后尽我所能为您提供可能的帮助。如果您觉得这个议题不好,请以未计划将其直接关闭。但是作为客户,我仍然建议您至少在config.py中提供一个可以修改扩展名而不用修改日记文件格式的变量。