整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          JavaScript 的輸出!

          avaScript 通常用于操作 HTML 元素。

          操作 HTML 元素

          如需從 JavaScript 訪問某個(gè) HTML 元素,您可以使用 document.getElementById(id) 方法。

          請(qǐng)使用 "id" 屬性來標(biāo)識(shí) HTML 元素:

          例子

          通過指定的 id 來訪問 HTML 元素,并改變其內(nèi)容:

          JavaScript 由 web 瀏覽器來執(zhí)行。在這種情況下,瀏覽器將訪問 id="demo" 的 HTML 元素,并把它的內(nèi)容(innerHTML)替換為圖片紅框中的內(nèi)容。

          寫到文檔輸出

          下面的例子直接把 <p> 元素寫到 HTML 文檔輸出中:

          實(shí)例:

          思維新建站官網(wǎng):www.inspinovation.cn

          文|何掌柜

          對(duì)于很多 web 應(yīng)用來說,簡單地轉(zhuǎn)義 HTML 是不夠的。 你可能想完全去除任何HTML,或者允許一小部分子集的 HTML 存在。 若是如此,則使用 HTML Purifier 庫。

          HTML Purifier 是一個(gè)經(jīng)過充分測(cè)試但效率比較低的庫。 這就是為什么如果你的需求并不復(fù)雜就應(yīng)使用htmlentities(), 因?yàn)樗男室斓枚唷?/p>

          HTML Purifier 相比 strip_tags() 是有優(yōu)勢(shì)的, 因?yàn)樗趦艋?HTML 之前會(huì)對(duì)其校驗(yàn)。 這意味著如果用戶輸入無效 HTML,HTML Purifier 相比 strip_tags() 更能保留 HTML 的原意。 HTML Purifier 高度可定制,允許你為 HTML 的一個(gè)子集建立白名單來允許這個(gè) HTML 子集的實(shí)體存在輸出中。

          但其缺點(diǎn)就是相當(dāng)?shù)穆笠恍┰O(shè)置,在一個(gè)共享主機(jī)的環(huán)境里可能是不可行的。 其文檔通常也復(fù)雜而不易理解。 以下示例是一個(gè)基本的使用配置。 查看文檔閱讀 HTML Purifier 提供的更多更高級(jí)的特性。

          示例

          // 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!

          ?>

          陷阱

          以錯(cuò)誤的字符編碼使用 htmlentities() 會(huì)造成意想不到的輸出。 在調(diào)用該函數(shù)時(shí)始終確認(rèn)指定了一種字符編碼,并且該編碼與將被凈化的字符串的編碼相匹配。 更多細(xì)節(jié)請(qǐng)查看 UTF-8 一節(jié)。

          使用 htmlentities() 時(shí),始終包含 ENT_QUOTES 和字符編碼參數(shù)。 默認(rèn)情況下,htmlentities() 不會(huì)對(duì)單引號(hào)編碼。多愚蠢的默認(rèn)做法!

          HTML Purifier 對(duì)于復(fù)雜的 HTML 效率極其的低。可以考慮設(shè)置一個(gè)緩存方案如APC來保存經(jīng)過凈化的結(jié)果以備后用。

          因思維新專注于高端網(wǎng)站訂制開發(fā),不僅僅為您建設(shè)網(wǎng)站,還為您做網(wǎng)絡(luò)營銷。

          讀:任何原始格式的數(shù)據(jù)載入DataFrame后,都可以使用類似DataFrame.to_csv()的方法輸出到相應(yīng)格式的文件或者目標(biāo)系統(tǒng)里。本文將介紹一些常用的數(shù)據(jù)輸出目標(biāo)格式。

          作者:李慶輝

          來源:華章科技

          01 CSV

          DataFrame.to_csv方法可以將DataFrame導(dǎo)出為CSV格式的文件,需要傳入一個(gè)CSV文件名。

          df.to_csv('done.csv')
          df.to_csv('data/done.csv') # 可以指定文件目錄路徑
          df.to_csv('done.csv', index=False) # 不要索引

          另外還可以使用sep參數(shù)指定分隔符,columns傳入一個(gè)序列指定列名,編碼用encoding傳入。如果不需要表頭,可以將header設(shè)為False。如果文件較大,可以使用compression進(jìn)行壓縮:

          # 創(chuàng)建一個(gè)包含out.csv的壓縮文件out.zip
          compression_opts = dict(method='zip',
          archive_name='out.csv') 
          df.to_csv('out.zip', index=False,
          compression=compression_opts) 

          02 Excel

          將DataFrame導(dǎo)出為Excel格式也很方便,使用DataFrame.to_excel方法即可。要想把DataFrame對(duì)象導(dǎo)出,首先要指定一個(gè)文件名,這個(gè)文件名必須以.xlsx或.xls為擴(kuò)展名,生成的文件標(biāo)簽名也可以用sheet_name指定。

          如果要導(dǎo)出多個(gè)DataFrame到一個(gè)Excel,可以借助ExcelWriter對(duì)象來實(shí)現(xiàn)。

          # 導(dǎo)出,可以指定文件路徑
          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)

          多個(gè)數(shù)據(jù)的導(dǎo)出如下:

          # 將多個(gè)df分不同sheet導(dǎo)入一個(gè)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導(dǎo)出引擎如下:

          # 指定操作引擎
          df.to_excel('path_to_file.xlsx', sheet_name='Sheet1', engine='xlsxwriter')
          # 在'engine'參數(shù)中設(shè)置ExcelWriter使用的引擎
          writer = pd.ExcelWriter('path_to_file.xlsx', engine='xlsxwriter')
          df.to_excel(writer)
          writer.save()
          
          # 設(shè)置系統(tǒng)引擎
          from pandas import options # noqa: E402
          options.io.excel.xlsx.writer = 'xlsxwriter'
          df.to_excel('path_to_file.xlsx', sheet_name='Sheet1')

          03 HTML

          DataFrame.to_html會(huì)將DataFrame中的數(shù)據(jù)組裝在HTML代碼的table標(biāo)簽中,輸入一個(gè)字符串,這部分HTML代碼可以放在網(wǎng)頁中進(jìn)行展示,也可以作為郵件正文。

          print(df.to_html())
          print(df.to_html(columns=[0])) # 輸出指定列
          print(df.to_html(bold_rows=False)) # 表頭不加粗
          # 表格指定樣式,支持多個(gè)
          print(df.to_html(classes=['class1', 'class2']))

          04 數(shù)據(jù)庫(SQL)

          將DataFrame中的數(shù)據(jù)保存到數(shù)據(jù)庫的對(duì)應(yīng)表中:

          # 需要安裝SQLAlchemy庫
          from sqlalchemy import create_engine
          # 創(chuàng)建數(shù)據(jù)庫對(duì)象,SQLite內(nèi)存模式
          engine = create_engine('sqlite:///:memory:')
          # 取出表名為data的表數(shù)據(jù)
          with engine.connect() as conn, conn.begin():
          data = pd.read_sql_table('data', conn)
          
          # data
          # 將數(shù)據(jù)寫入
          data.to_sql('data', engine)
          # 大量寫入
          data.to_sql('data_chunked', engine, chunksize=1000)
          # 使用SQL查詢
          pd.read_sql_query('SELECT * FROM data', engine)

          05 Markdown

          Markdown是一種常用的技術(shù)文檔編寫語言,Pandas支持輸出Markdown格式的字符串,如下:

          print(cdf.to_markdown())
          
          '''
          | | x | y | z |
          |:---|----:|----:|----:|
          | a | 1 | 2 | 3 |
          | b | 4 | 5 | 6 |
          | c | 7 | 8 | 9 |
          '''

          小結(jié)

          本文介紹了如何將DataFrame對(duì)象數(shù)據(jù)進(jìn)行輸出,數(shù)據(jù)經(jīng)輸出、持久化后會(huì)成為固定的數(shù)據(jù)資產(chǎn),供我們進(jìn)行歸檔和分析。

          關(guān)于作者:李慶輝,數(shù)據(jù)產(chǎn)品專家,某電商公司數(shù)據(jù)產(chǎn)品團(tuán)隊(duì)負(fù)責(zé)人,擅長通過數(shù)據(jù)治理、數(shù)據(jù)分析、數(shù)據(jù)化運(yùn)營提升公司的數(shù)據(jù)應(yīng)用水平。精通Python數(shù)據(jù)科學(xué)及Python Web開發(fā),曾獨(dú)立開發(fā)公司的自動(dòng)化數(shù)據(jù)分析平臺(tái),參與教育部“1+X”數(shù)據(jù)分析(Python)職業(yè)技能等級(jí)標(biāo)準(zhǔn)評(píng)審。中國人工智能學(xué)會(huì)會(huì)員,企業(yè)數(shù)字化、數(shù)據(jù)產(chǎn)品和數(shù)據(jù)分析講師,在個(gè)人網(wǎng)站“蓋若”上編寫的技術(shù)和產(chǎn)品教程廣受歡迎。

          本書摘編自《深入淺出Pandas:利用Python進(jìn)行數(shù)據(jù)處理與分析》,機(jī)械工業(yè)出版社華章公司2021年出版。轉(zhuǎn)載請(qǐng)與我們?nèi)〉檬跈?quán)。

          延伸閱讀《深入淺出Pandas》

          推薦語:這是一本全面覆蓋了Pandas使用者的普遍需求和痛點(diǎn)的著作,基于實(shí)用、易學(xué)的原則,從功能、使用、原理等多個(gè)維度對(duì)Pandas做了全方位的詳細(xì)講解,既是初學(xué)者系統(tǒng)學(xué)習(xí)Pandas難得的入門書,又是有經(jīng)驗(yàn)的Python工程師案頭必不可少的查詢手冊(cè)。《利用Python進(jìn)行數(shù)據(jù)分析》學(xué)習(xí)伴侶,用好Python必備。


          主站蜘蛛池模板: 久久精品日韩一区国产二区 | 国精无码欧精品亚洲一区| 一区二区三区高清在线| 国产激情视频一区二区三区| 国产肥熟女视频一区二区三区| 人妻体内射精一区二区三区| 国产在线观看一区二区三区精品| 国产伦精品一区二区三区在线观看 | 亚洲.国产.欧美一区二区三区| 精品久久国产一区二区三区香蕉| 精品人妻少妇一区二区三区不卡| 久久一区二区三区免费播放| 精品乱子伦一区二区三区| 无码人妻精品一区二区三区久久久| 亚洲av午夜福利精品一区| 久久久国产一区二区三区| 色一情一乱一伦一区二区三区| 国产精品分类视频分类一区| 国产视频一区二区在线播放| 好吊视频一区二区三区| 冲田杏梨高清无一区二区| 大香伊蕉日本一区二区| 韩国一区二区三区视频| 日本一区二区三区四区视频| 久久精品日韩一区国产二区 | 亚洲一区二区久久| 色窝窝无码一区二区三区| 无码少妇一区二区性色AV| 久久亚洲国产精品一区二区| 国产免费一区二区视频| 国产一区二区三区久久精品| 国产一区二区三区91| 国产精品日本一区二区在线播放 | 手机看片福利一区二区三区 | 人妻无码第一区二区三区| 人妻AV中文字幕一区二区三区| 亚洲国产精品一区二区久久hs | 精品一区二区三区在线视频观看| 人妻夜夜爽天天爽一区| 国产伦理一区二区三区| 国产高清一区二区三区四区|