我想要 Panadas 数据框的一列,它是一个 URL,我将其另存为 CSV,以便可以直接单击

问题描述 投票:0回答:1

我想将此数据框写入 csv 文件,其中 B 列第一次在 Excel 中显示为可单击链接,而不是按 Enter 键单击它。以下代码应该可以工作,但我仍然没有在 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()
python pandas dataframe csv hyperlink
1个回答
0
投票

make_clickable
被定义为将 URL 格式化为可点击的超链接。它使用 Excel
HYPERLINK
函数。

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')
© www.soinside.com 2019 - 2024. All rights reserved.