我想将此数据框写入CSV文件,其中列B显示为Excel中第一次单击链接,而不是点击它与回车.下面的代码应该已经工作,但我仍然没有得到一个下划线可点击超链接Excel CSV文件.

def main():
    pass

    if __name__ == '__main__':
        main()
    import requests
    import pandas as pd
    import io
    import sys

    df = pd.DataFrame(columns = ["A", "B"])
    df.at[0, 'A'] =  "Link1"
    df.at[0, 'B'] =  "https://nseindia.com"

    def make_clickable(val):
    df.style.format({'B': make_clickable})

    print(df)

#现在我想把它写到csv文件,其中B列显示为ExceL中的可点击链接

with open('C:\\dropbox\\apy\\test.csv', "w", encoding='utf-8') as f:
df.to_csv(f, index=False, lineterminator='\n')
f.close()

推荐答案

make_clickable被定义为将URL格式化为可点击的超链接.使用Excel HYPERLINK功能.

df['B'] = df['B'].apply(make_clickable)帮助将所有列数据转换为超链接.

import pandas as pd

def make_clickable(url):
    return f'=HYPERLINK("{url}", "{url}")'

if __name__ == '__main__':
    data = {
        "A": ["Link1", "Link2", "Link3"],
        "B": ["https://google.com", "https://facebook.com", "https://stackoverflow.com/questions/78285294/i-want-one-column-of-panadas-dataframe-which-is-a-url-and-which-i-save-as-csv-to"]
    }
    df = pd.DataFrame(data)
    
    df['B'] = df['B'].apply(make_clickable)

    with open('test.csv', "w", encoding='utf-8') as f:
        df.to_csv(f, index=False, line_terminator='\n')

我已经测试与创建虚拟DF它的工作.

Python相关问答推荐

Python会扔掉未使用的表情吗?

Polars:用氨纶的其他部分替换氨纶的部分

使用groupby Pandas的一些操作

Pandas—合并数据帧,在公共列上保留非空值,在另一列上保留平均值

Django REST Framework:无法正确地将值注释到多对多模型,不断得到错误字段名称字段对模型无效'<><>

Odoo 16使用NTFS使字段只读

形状弃用警告与组合多边形和多边形如何解决

当点击tkinter菜单而不是菜单选项时,如何执行命令?

为什么if2/if3会提供两种不同的输出?

AES—256—CBC加密在Python和PHP中返回不同的结果,HELPPP

网格基于1.Y轴与2.x轴显示在matplotlib中

为什么调用函数的值和次数不同,递归在代码中是如何工作的?

Polars Group by描述扩展

我对这个简单的异步者的例子有什么错误的理解吗?

仅使用预先计算的排序获取排序元素

python的文件. truncate()意外地没有截断'

修改.pdb文件中的值并另存为新的

如何在PYTHON中向单元测试S Side_Effect发送额外参数?

如何在Polars中处理用户自定义函数的多行结果?

如何使用Polars从AWS S3读取镶木地板文件