Use o ChatGPT para processar dados da tabela de palavras: diretamente usando o ChatGPt e usando o ChatGPT para escrever scripts python

Resumo

Para testar a capacidade de processamento do ChatGP em tabelas de documentos do Word, este artigo lista duas maneiras de usar o ChatGPT diretamente e usar o ChatGPT para escrever scripts python, ambos relativamente fáceis de atingir o objetivo pretendido. O método e a ideia de usar o ChatGPT para processamento de documentos apresentados no artigo podem orientar todos a usar ferramentas de IA para melhorar a eficiência.

Nos trabalhos recentes, é necessário analisar e processar alguns dados tabulares e gerar documentos estatísticos. Pensando no ChatGPT, uma ferramenta de aumento de produtividade, tente ver como funciona.

0. Geração de dados de teste

Os dados no trabalho envolvem muitas informações pessoais e não são adequados para testes diretos, portanto, é necessário gerar dados semelhantes para depuração.
Dicas: No processo de uso do ChatGPT, você deve prestar atenção à privacidade pessoal e à proteção de dados. Ainda é incerto como os dados que você enviar serão usados. Não tem nada a ver com os relatórios de vazamentos de dados que foram conversados ​​com o ChatGPT .

Forneci ao ChatGPT os cabeçalhos da tabela que precisam ser processados, pedi a ele para gerar dados aleatórios para mim e, em seguida, usei os dados que ele gerou para teste.
digitar:

按照下的数据格式,自动生成20数据
数据实例表格如下:
| 序号 | 商品     | 发货地点     | 发货时间           | 预计收货时间       | 收货人   | 快递公司 | 快递公司电话 |
| :--: | :------: | :----------: | :-----------------: | :-----------------: | :------: | :------: | :------------: |
|  1   | 苹果     | 河南省郑州市 | 2023-04-20 08:30:00 | 2023-04-22 12:00:00 |  张三  | 顺丰快递 | 10086          |

saída:

| 序号 | 商品   | 发货地点       | 发货时间           | 预计收货时间       | 收货人   | 快递公司   | 快递公司电话 |
| ---- | ---- | -------- | ------------ | ------------ | ------ | ------ | -------- |
| 1    | 牙刷   | 广东省深圳市   | 2023-04-20 10:00:00 | 2023-04-21 18:00:00 | 张三   | 申通快递   | 95543    |
| 2    | 洗发水 | 北京市海淀区   | 2023-04-20 10:30:00 | 2023-04-22 16:00:00 | 李四   | 圆通快递   | 95554    |
| 3    | 衣服   | 上海市浦东新区 | 2023-04-20 11:00:00 | 2023-04-23 14:30:00 | 王五   | 中通快递   | 95555    |
| 4    | 鞋子   | 广东省广州市   | 2023-04-20 12:00:00 | 2023-04-22 15:00:00 | 赵六   | 顺丰快递   | 95338    |
| 5    | 手机   | 河北省石家庄市 | 2023-04-20 13:00:00 | 2023-04-23 10:00:00 | 张三丰 | 韵达快递   | 95546    |
| 6    | 眼镜   | 江苏省南京市   | 2023-04-20 14:30:00 | 2023-04-23 12:00:00 | 李白   | 中通快递   | 95508    |
| 7    | 水杯   | 四川省成都市   | 2023-04-20 15:00:00 | 2023-04-22 17:30:00 | 王实甫 | 顺丰快递   | 95338    |
| 8    | 书包   | 河南省洛阳市   | 2023-04-20 16:00:00 | 2023-04-24 14:00:00 | 吕布   | 圆通快递   | 95554    |
| 9    | 帽子   | 浙江省杭州市   | 2023-04-20 17:30:00 | 2023-04-24 11:30:00 | 张飞   | 韵达快递   | 95546    |
| 10   | 耳机   | 广东省深圳市   | 2023-04-20 18:00:00 | 2023-04-21 21:00:00 | 关羽   | 中通快递   | 95555    |
| 11   | 凉鞋   | 北京市朝阳区   | 2023-04-20 19:30:00 | 2023-04-23 16:30:00 | 赵云   | 申通快递   | 95543    |
| 12   | 腰带   | 上海市长宁区   | 2023-04-20 20:00:00 | 2023-04-24 17:00:00 | 刘备   | 圆通快递   | 95554    |
| 13   | 毛巾   | 广东省广州市   | 2023-04-20 21:00:00 | 2023-04-23 15:00:00 | 孙尚香 | 顺丰快递   | 95338    |
| 14   | 餐具   | 河北省保定市   | 2023-04-20 22:00:00 | 2023-04-25 11:00:00 | 华佗   | 中通快递   | 95508    |
| 15   | 头盔   | 湖北省武汉市   | 2023-04-20 23:00:00 | 2023-04-23 13:30:00 | 典韦   | 申通快递   | 95543    |
| 16   | 手表   | 广东省深圳市   | 2023-04-21 00:30:00 | 2023-04-22 18:00:00 | 马超   | 韵达快递   | 95546    |
| 17   | 手表 | 四川省成都市   | 2023-04-21 01:00:00 | 2023-04-24 16:30:00 | 刘备   | 圆通快递   | 95554    |
| 18   | 游戏手柄 | 上海市浦东新区 | 2023-04-21 02:00:00 | 2023-04-22 21:00:00 | 王昭君 | 中通快递   | 95555    |
| 19   | 牙膏   | 北京市海淀区   | 2023-04-21 03:30:00 | 2023-04-23 12:30:00 | 曹操   | 顺丰快递   | 95338    |
| 20   | 茶杯   | 广东省广州市   | 2023-04-21 04:00:00 | 2023-04-24 10:00:00 | 关羽   | 韵达快递   | 95546    |

Os dados de saída são muito rápidos e os resultados também são muito estáveis. A relação entre as províncias e cidades da cidade, a sequência de tempo de entrega e recebimento, o nome da entrega expressa é uma entrega expressa comum que aparece aleatoriamente e repetidamente , e a maioria dos nomes são Zhang San Li Si. O exemplo acima é bastante especial, um grupo de três países O personagem, o número de telefone do correio está errado, mas não afeta meu processamento de dados subsequente.

1. Use ChatGPT diretamente para processamento.

Estou tentando deixar o ChatGPT contar o destinatário como mensageiro de Guan Yu, digite:

对上面生成的数据进行分析,请完整的统计“收货人”为“关羽”的所有数据,输出格式为:
由关羽的快递有{
    
    }件,分别是:
{
    
    序号}.{
    
    发货地点}寄出的{
    
    商品},快递公司为{
    
    快递公司},收货人是{
    
    收货人},预计达到时间为{
    
    预计达到时间}

Primeira saída:

收货人为“关羽”的所有数据如下:
由关羽的快递有3件,分别是:
10.广东省深圳市寄出的耳机,快递公司为中通快递,收货人是关羽,预计达到时间为2023-04-21 21:00:00;
20.广东省广州市寄出的茶杯,快递公司为韵达快递,收货人是关羽,预计达到时间为2023-04-24 10:00:00;
17.四川省成都市寄出的手表,快递公司为圆通快递,收货人是关羽,预计达到时间为2023-04-24 16:30:00;

Um deles está errado, lembre-o, digite:

你有一条数据是错误的,有一件物品的收件人并不是关羽

Saída novamente:

非常抱歉,我犯了一个错误。我查看一下表格,发现其实序号为17的手表的收货人不是关羽,正确的收件人应该是刘备。那么由关羽的快递应该只有2件。非常感谢您的纠正。正确的输出如下:
由关羽的快递有2件,分别是:
10.广东省深圳市寄出的耳机,快递公司为中通快递,收货人是关羽,预计达到时间为2023-04-21 21:00:00;
20.广东省广州市寄出的茶杯,快递公司为韵达快递,收货人是关羽,预计达到时间为2023-04-24 10:00:00;

Eu testei muitas vezes, basicamente toda vez que cometo erros primeiro, e geralmente consigo corrigir depois de lembrar, mas às vezes não consigo corrigir, basicamente não há como obter a resposta correta da primeira vez, especialmente quando há são muitos dados, lembre-me muitas vezes Não há como obter a resposta correta e a maioria dos erros são estatísticas ausentes. Portanto, pessoalmente, sinto que não é viável usar o ChatGPT para processamento direto de dados. Há três razões:
uma é a questão da confidencialidade dos dados, muitos dados envolvem segredos comerciais e privacidade pessoal; a outra
é a questão do volume de dados, ainda não é possível processar milhares de linhas de dados por meio de caixas de diálogo.
A terceira é a incerteza dos resultados do processamento de dados. O mecanismo interno do modelo AI ainda não está claro. A aleatoriedade de seus resultados, especialmente quando a quantidade de dados é grande, a probabilidade de erro aumenta significativamente. Afinal, é impossível processar milhares de linhas de dados Revisão manual.
Então, aqui está uma tentativa de alcançar o que eu quero fazendo com que o ChatGPT gere um script Python.

2 Use ChatGPT para gerar scripts python para processamento

O ChatGPT também pode escrever programas, deixe-o ajudar a escrever um script python, um script simples como este deve ser capaz de fazer o trabalho.
digitar:

有如下一个表格,存储在名为“物流信息统计表.docx”的文件中。
| 序号 | 商品   | 发货地点       | 发货时间           | 预计收货时间       | 收货人   | 快递公司   | 快递公司电话 |
| ---- | ---- | -------- | ------------ | ------------ | ------ | ------ | -------- |
| 1    | 牙刷   | 广东省深圳市   | 2023-04-20 10:00:00 | 2023-04-21 18:00:00 | 张三   | 申通快递   | 95543    |
| 2    | 洗发水 | 北京市海淀区   | 2023-04-20 10:30:00 | 2023-04-22 16:00:00 | 李四   | 圆通快递   | 95554    |
| 3    | 衣服   | 上海市浦东新区 | 2023-04-20 11:00:00 | 2023-04-23 14:30:00 | 王五   | 中通快递   | 95555    |
| 4    | 鞋子   | 广东省广州市   | 2023-04-20 12:00:00 | 2023-04-22 15:00:00 | 赵六   | 顺丰快递   | 95338    |
| 5    | 手机   | 河北省石家庄市 | 2023-04-20 13:00:00 | 2023-04-23 10:00:00 | 张三丰 | 韵达快递   | 95546    |

表格的行数不确定,请帮我编写一个python程序,实现以下功能,
完整的统计“收货人”为“关羽”的所有数据,生成以下文字:
由关羽的快递有{
    
    }件,分别是:
{
    
    序号}.{
    
    发货地点}寄出的{
    
    商品},快递公司为{
    
    快递公司},收货人是{
    
    收货人},预计达到时间为{
    
    预计达到时间};
并将上述文字保存在“物流信息处理表.docx”中。

Primeira saída:

Ok, você pode fazer isso usando a biblioteca docx em Python. É necessário apenas ler e percorrer os dados da tabela no "Logistics Information Statistical Table.docx", encontrar os dados elegíveis para estatísticas e, finalmente, salvar os resultados estatísticos no arquivo "Logistics Information Processing Table.docx".

A seguir está o código Python para realizar esta função:

import docx

# 打开物流信息统计表
doc = docx.Document("物流信息统计表.docx")

# 初始化目标数据列表
target_data = []

# 遍历表格数据
for row in doc.tables[0].rows[1:]:
    # 获取每一行的数据
    data = [cell.text for cell in row.cells]

    # 判断是否是关羽的快递
    if data[5] == "关羽":
        target_data.append({
    
    
            "序号": data[0],
            "商品": data[1],
            "发货地点": data[2],
            "发货时间": data[3],
            "预计收货时间": data[4],
            "收货人": data[5],
            "快递公司": data[6],
            "快递公司电话": data[7]
        })

# 拼接要保存的文字
text = "由关羽的快递有{}件,分别是:\n".format(len(target_data))
for i, data in enumerate(target_data):
    text += "{}.{}寄出的{},快递公司为{},收货人是{},预计达到时间为{};\n".format(
        data["序号"], data["发货地点"], data["商品"], data["快递公司"], data["收货人"], data["预计收货时间"]
    )

# 保存拼接好的文字到文件中
docx.Document().add_paragraph(text).save("物流信息处理表.docx")

Depois de executar o código acima, o programa lerá automaticamente os dados da tabela no arquivo "Logistics Information Statistics Table. Processing table.docx".

No entanto, ao executar pela primeira vez, o sistema informa um erro,
insira a descrição da imagem aqui
digite:

docx.Document().add_paragraph(text).save("物流信息处理表1.docx")
AttributeError: 'Paragraph' object has no attribute 'save'
上面是系统报错,请修改程序

Saída:
Desculpe, cometi um descuido no código. A forma correta de salvar deve ser utilizando doc.save("物流信息处理表.docx"), sendo necessário adicionar um parágrafo ao criar um novo documento, e em seguida adicionar o texto emendado a este parágrafo, conforme imagem abaixo:

import docx

# 打开物流信息统计表
doc = docx.Document("物流信息统计表.docx")

# 初始化目标数据列表
target_data = []

# 遍历表格数据
for row in doc.tables[0].rows[1:]:
    # 获取每一行的数据
    data = [cell.text for cell in row.cells]

    # 判断是否是关羽的快递
    if data[5] == "关羽":
        target_data.append({
    
    
            "序号": data[0],
            "商品": data[1],
            "发货地点": data[2],
            "发货时间": data[3],
            "预计收货时间": data[4],
            "收货人": data[5],
            "快递公司": data[6],
            "快递公司电话": data[7]
        })

# 新建一个文档,添加一个段落
new_doc = docx.Document()
new_doc.add_paragraph()

# 拼接要保存的文字
text = "由关羽的快递有{}件,分别是:\n".format(len(target_data))
for i, data in enumerate(target_data):
    text += "{}.{}寄出的{},快递公司为{},收货人是{},预计达到时间为{};\n".format(
        data["序号"], data["发货地点"], data["商品"], data["快递公司"], data["收货人"], data["预计收货时间"]
    )

# 将拼接好的文字添加到段落中
new_doc.paragraphs[0].add_run(text)

# 保存文档
new_doc.save("物流信息处理表.docx")

Depois de executar o código acima, o programa lerá automaticamente os dados da tabela no arquivo "Logistics Information Statistics Table. Processing table.docx".

O resultado da saída é:
insira a descrição da imagem aqui
sem dados? De repente, ocorreu-me que havia vários espaços antes e depois dos dados "Guan Yu".
digitar:

上面的程序并没有输出正确的结果,可能是数据{
    
    收货人}前面后都包含空格,需要你删除空格,请重新改上述程序

Saída:
Procurando por você: programa acima, saída, resultado correto, dados {destinatário}

Ok, você pode retirar () os dados do "consignee" no código para remover espaços, para evitar erros estatísticos causados ​​por espaços antes e depois dos dados. O código modificado é o seguinte:

import docx

# 打开物流信息统计表
doc = docx.Document("物流信息统计表.docx")

# 初始化目标数据列表
target_data = []

# 遍历表格数据
for row in doc.tables[0].rows[1:]:
    # 获取每一行的数据
    data = [cell.text.strip() for cell in row.cells]

    # 判断是否是关羽的快递
    if data[5] == "关羽":
        target_data.append({
    
    
            "序号": data[0],
            "商品": data[1],
            "发货地点": data[2],
            "发货时间": data[3],
            "预计收货时间": data[4],
            "收货人": data[5],
            "快递公司": data[6],
            "快递公司电话": data[7]
        })

# 新建一个文档,添加一个段落
new_doc = docx.Document()
new_doc.add_paragraph()

# 拼接要保存的文字
text = "由关羽的快递有{}件,分别是:\n".format(len(target_data))
for i, data in enumerate(target_data):
    text += "{}.{}寄出的{},快递公司为{},收货人是{},预计达到时间为{};\n".format(
        data["序号"], data["发货地点"], data["商品"], data["快递公司"], data["收货人"], data["预计收货时间"]
    )

# 将拼接好的文字添加到段落中
new_doc.paragraphs[0].add_run(text)

# 保存文档
new_doc.save("物流信息处理表.docx")

Depois de executar o código acima, o programa lerá automaticamente os dados da tabela no arquivo "Logistics Information Statistics Table. Processing table.docx".

Desta vez, o resultado correto pode ser gerado e a tarefa é concluída.
insira a descrição da imagem aqui

3 análise comparativa

Originalmente, eu queria que Wenxin concluísse esta tarefa com uma única palavra, então vamos compará-la. Ei... A única palavra de Wen Xin é difícil de descrever~~~

4. Conclusão

Este teste ChatGPT é uma versão doméstica, gratuita e afirma ser baseada na versão ChatGPT3.5. No que diz respeito aos resultados, já é muito poderoso. O modo de trabalho do AI também deve ser aprendido.

Acho que você gosta

Origin blog.csdn.net/m0_37771865/article/details/130275467
Recomendado
Clasificación