Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
avaScript 通常用于操作 HTML 元素。
操作 HTML 元素
如需從 JavaScript 訪問某個 HTML 元素,您可以使用 document.getElementById(id) 方法。
請使用 "id" 屬性來標識 HTML 元素:
例子
通過指定的 id 來訪問 HTML 元素,并改變其內容:
JavaScript 由 web 瀏覽器來執行。在這種情況下,瀏覽器將訪問 id="demo" 的 HTML 元素,并把它的內容(innerHTML)替換為圖片紅框中的內容。
寫到文檔輸出
下面的例子直接把 <p> 元素寫到 HTML 文檔輸出中:
實例:
思維新建站官網:www.inspinovation.cn
文|何掌柜
對于很多 web 應用來說,簡單地轉義 HTML 是不夠的。 你可能想完全去除任何HTML,或者允許一小部分子集的 HTML 存在。 若是如此,則使用 HTML Purifier 庫。
HTML Purifier 是一個經過充分測試但效率比較低的庫。 這就是為什么如果你的需求并不復雜就應使用htmlentities(), 因為它的效率要快得多。
HTML Purifier 相比 strip_tags() 是有優勢的, 因為它在凈化 HTML 之前會對其校驗。 這意味著如果用戶輸入無效 HTML,HTML Purifier 相比 strip_tags() 更能保留 HTML 的原意。 HTML Purifier 高度可定制,允許你為 HTML 的一個子集建立白名單來允許這個 HTML 子集的實體存在輸出中。
但其缺點就是相當的慢,它要求一些設置,在一個共享主機的環境里可能是不可行的。 其文檔通常也復雜而不易理解。 以下示例是一個基本的使用配置。 查看文檔閱讀 HTML Purifier 提供的更多更高級的特性。
示例
// Include the HTML Purifier library
require_once('htmlpurifier-4.4.0/HTMLPurifier.auto.php');
// Oh no! The user has submitted malicious HTML, and we have to display it in our web app!
$evilHtml = '
Mua-ha-ha! Twiddling my evil mustache...
';
// Set up the HTML Purifier object with the default configuration.
$purifier = new HTMLPurifier(HTMLPurifier_Config::createDefault());
$safeHtml = $purifier->purify($evilHtml);
// $safeHtml is now sanitized. You can output $safeHtml to your users without fear!
?>
陷阱
以錯誤的字符編碼使用 htmlentities() 會造成意想不到的輸出。 在調用該函數時始終確認指定了一種字符編碼,并且該編碼與將被凈化的字符串的編碼相匹配。 更多細節請查看 UTF-8 一節。
使用 htmlentities() 時,始終包含 ENT_QUOTES 和字符編碼參數。 默認情況下,htmlentities() 不會對單引號編碼。多愚蠢的默認做法!
HTML Purifier 對于復雜的 HTML 效率極其的低。可以考慮設置一個緩存方案如APC來保存經過凈化的結果以備后用。
因思維新專注于高端網站訂制開發,不僅僅為您建設網站,還為您做網絡營銷。
讀:任何原始格式的數據載入DataFrame后,都可以使用類似DataFrame.to_csv()的方法輸出到相應格式的文件或者目標系統里。本文將介紹一些常用的數據輸出目標格式。
作者:李慶輝
來源:華章科技
DataFrame.to_csv方法可以將DataFrame導出為CSV格式的文件,需要傳入一個CSV文件名。
df.to_csv('done.csv')
df.to_csv('data/done.csv') # 可以指定文件目錄路徑
df.to_csv('done.csv', index=False) # 不要索引
另外還可以使用sep參數指定分隔符,columns傳入一個序列指定列名,編碼用encoding傳入。如果不需要表頭,可以將header設為False。如果文件較大,可以使用compression進行壓縮:
# 創建一個包含out.csv的壓縮文件out.zip
compression_opts = dict(method='zip',
archive_name='out.csv')
df.to_csv('out.zip', index=False,
compression=compression_opts)
將DataFrame導出為Excel格式也很方便,使用DataFrame.to_excel方法即可。要想把DataFrame對象導出,首先要指定一個文件名,這個文件名必須以.xlsx或.xls為擴展名,生成的文件標簽名也可以用sheet_name指定。
如果要導出多個DataFrame到一個Excel,可以借助ExcelWriter對象來實現。
# 導出,可以指定文件路徑
df.to_excel('path_to_file.xlsx')
# 指定sheet名,不要索引
df.to_excel('path_to_file.xlsx', sheet_name='Sheet1', index=False)
# 指定索引名,不合并單元格
df.to_excel('path_to_file.xlsx', index_label='label', merge_cells=False)
多個數據的導出如下:
# 將多個df分不同sheet導入一個Excel文件中
with pd.ExcelWriter('path_to_file.xlsx') as writer:
df1.to_excel(writer, sheet_name='Sheet1')
df2.to_excel(writer, sheet_name='Sheet2')
使用指定的Excel導出引擎如下:
# 指定操作引擎
df.to_excel('path_to_file.xlsx', sheet_name='Sheet1', engine='xlsxwriter')
# 在'engine'參數中設置ExcelWriter使用的引擎
writer = pd.ExcelWriter('path_to_file.xlsx', engine='xlsxwriter')
df.to_excel(writer)
writer.save()
# 設置系統引擎
from pandas import options # noqa: E402
options.io.excel.xlsx.writer = 'xlsxwriter'
df.to_excel('path_to_file.xlsx', sheet_name='Sheet1')
DataFrame.to_html會將DataFrame中的數據組裝在HTML代碼的table標簽中,輸入一個字符串,這部分HTML代碼可以放在網頁中進行展示,也可以作為郵件正文。
print(df.to_html())
print(df.to_html(columns=[0])) # 輸出指定列
print(df.to_html(bold_rows=False)) # 表頭不加粗
# 表格指定樣式,支持多個
print(df.to_html(classes=['class1', 'class2']))
將DataFrame中的數據保存到數據庫的對應表中:
# 需要安裝SQLAlchemy庫
from sqlalchemy import create_engine
# 創建數據庫對象,SQLite內存模式
engine = create_engine('sqlite:///:memory:')
# 取出表名為data的表數據
with engine.connect() as conn, conn.begin():
data = pd.read_sql_table('data', conn)
# data
# 將數據寫入
data.to_sql('data', engine)
# 大量寫入
data.to_sql('data_chunked', engine, chunksize=1000)
# 使用SQL查詢
pd.read_sql_query('SELECT * FROM data', engine)
Markdown是一種常用的技術文檔編寫語言,Pandas支持輸出Markdown格式的字符串,如下:
print(cdf.to_markdown())
'''
| | x | y | z |
|:---|----:|----:|----:|
| a | 1 | 2 | 3 |
| b | 4 | 5 | 6 |
| c | 7 | 8 | 9 |
'''
本文介紹了如何將DataFrame對象數據進行輸出,數據經輸出、持久化后會成為固定的數據資產,供我們進行歸檔和分析。
關于作者:李慶輝,數據產品專家,某電商公司數據產品團隊負責人,擅長通過數據治理、數據分析、數據化運營提升公司的數據應用水平。精通Python數據科學及Python Web開發,曾獨立開發公司的自動化數據分析平臺,參與教育部“1+X”數據分析(Python)職業技能等級標準評審。中國人工智能學會會員,企業數字化、數據產品和數據分析講師,在個人網站“蓋若”上編寫的技術和產品教程廣受歡迎。
本書摘編自《深入淺出Pandas:利用Python進行數據處理與分析》,機械工業出版社華章公司2021年出版。轉載請與我們取得授權。
延伸閱讀《深入淺出Pandas》
推薦語:這是一本全面覆蓋了Pandas使用者的普遍需求和痛點的著作,基于實用、易學的原則,從功能、使用、原理等多個維度對Pandas做了全方位的詳細講解,既是初學者系統學習Pandas難得的入門書,又是有經驗的Python工程師案頭必不可少的查詢手冊。《利用Python進行數據分析》學習伴侶,用好Python必備。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。