我想将此数据框写入 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()
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')