Pandas數(shù)據(jù)如何讀取與導(dǎo)出
Pandas數(shù)據(jù)讀取與導(dǎo)出
Pandas 是一個(gè)強(qiáng)大的 Python 庫,用于數(shù)據(jù)處理和分析。它提供了許多函數(shù)來讀取和導(dǎo)入數(shù)據(jù),支持多種文件格式,如 CSV、Excel、SQL 數(shù)據(jù)庫、JSON 等。
以下是一些常用的數(shù)據(jù)讀取和導(dǎo)出方法:
常用方法
格式 | 文件格式 | 讀取函數(shù) | 寫入(導(dǎo)出)函數(shù) |
---|---|---|---|
binary | Excel | read_excel | to_excel |
text | CSV | read_csv read_table | to_csv |
text | JSON | read_json | to_json |
text | 網(wǎng)頁表格HTML | read_html | to_html |
text | 剪切板 | read_clipboard | to_clipboard |
SQ!L | SQL | read_sql | to_sql |
XML | read_xml | read_xml | |
text | Markdown | to_markdown |
其中:
- 讀取函數(shù)一般會(huì)賦值給一個(gè)變量 df, df = pd.read_()
- 輸出函數(shù)是將變量自身進(jìn)行操作并輸出 df.to_()
常用函數(shù)方法
Excel 對(duì)象
~ pd.ExcelFile 對(duì)象 ~ pd.ExcelWriter 對(duì)象 ~ pd.ExcelWriter 對(duì)象的屬性和方法
讀取數(shù)據(jù)
~ pd.read_csv() ~ pd.read_excel() ~ pd.json_normalize() ~ pd.read_pickle() ~ pd.read_table() ~ pd.DataFrame.from_dict() 從字典創(chuàng)建 DataFrame ~ pd.read_clipboard() 從剪貼板讀取數(shù)據(jù) ~ pd.read_json() 讀取 JSON ~ pd.read_sql() 讀取數(shù)據(jù)庫數(shù)據(jù) ~ pd.read_fwf() 讀取固定寬度格式文件 ~ pd.read_html() 從 HTML 文檔提取表格數(shù)據(jù) ~ pd.read_parquet() 讀取 Parquet 文件
導(dǎo)出數(shù)據(jù)
~ to_csv() 導(dǎo)出為 CSV文件 ~ to_excel() 導(dǎo)出為 Excel 文件 ~ to_dict() 輸出字典 ~ to_pickle() 序列化為 pickle 文件 ~ to_json() 轉(zhuǎn)換為 JSON 格式字符串 ~ to_html() 轉(zhuǎn)換為 HTML 表格格式 ~ to_sql() 寫入到關(guān)系型數(shù)據(jù)庫 ~ to_parquet() 保存為 parquet 文件
數(shù)據(jù)讀取
- 讀取 CSV 文件
import pandas as pd df = pd.read_csv('file.csv') # 可以使用參數(shù)來調(diào)整讀取行為,如分隔符、缺失值標(biāo)記、列名等
- 讀取 Excel 文件
df = pd.read_excel('file.xlsx', sheet_name='Sheet1') # 可以指定工作表名稱或索引,或者使用 sheet_name=None 來讀取所有工作表
- 從 SQL 數(shù)據(jù)庫讀取
import sqlite3 # 或其他數(shù)據(jù)庫連接庫 conn = sqlite3.connect('database.db') df = pd.read_sql_query('SELECT * FROM table_name', conn) conn.close() # 對(duì)于其他數(shù)據(jù)庫,如 MySQL、PostgreSQL,需要使用相應(yīng)的連接庫和驅(qū)動(dòng)
- 讀取 JSON 文件
df = pd.read_json('file.json') # 可以使用 orient 參數(shù)來指定 JSON 數(shù)據(jù)的布局
- 讀取 HTML 表格
df = pd.read_html('http://example.com/page_with_table.html')[0] # read_html 返回一個(gè) DataFrame 列表,通常使用索引 [0] 來獲取第一個(gè)表格
- 從剪貼板讀取
df = pd.read_clipboard() # 這對(duì)于從 Excel 等應(yīng)用程序中復(fù)制數(shù)據(jù)特別有用
數(shù)據(jù)導(dǎo)出
- 導(dǎo)出到 CSV 文件
df.to_csv('output_file.csv', index=False) # index=False 表示不導(dǎo)出 DataFrame 的索引
- 導(dǎo)出到 Excel 文件
df.to_excel('output_file.xlsx', sheet_name='Sheet1', index=False) # 可以指定工作表名稱和其他選項(xiàng),如引擎(對(duì)于較新的 Pandas 版本,默認(rèn)引擎為 'openpyxl')
- 導(dǎo)出到 SQL 數(shù)據(jù)庫
conn = sqlite3.connect('database.db') df.to_sql('table_name', conn, if_exists='replace', index=False) conn.close() # if_exists 參數(shù)可以是 'fail'(如果表存在則引發(fā)錯(cuò)誤)、'replace'(替換表)、'append'(在表中添加數(shù)據(jù))
- 導(dǎo)出到 JSON 文件
df.to_json('output_file.json', orient='records', lines=True) # orient 參數(shù)可以指定 JSON 數(shù)據(jù)的布局,lines=True 表示每行是一個(gè) JSON 對(duì)象
- 導(dǎo)出到 HTML 文件
with open('output_file.html', 'w') as f: f.write(df.to_html()) # 也可以使用 pandas 提供的 to_html() 方法生成 HTML 字符串,然后保存到文件中
- 導(dǎo)出到 Excel 的多個(gè)工作表
with pd.ExcelWriter('output_file_with_sheets.xlsx') as writer: df1.to_excel(writer, sheet_name='Sheet1', index=False) df2.to_excel(writer, sheet_name='Sheet2', index=False) # 使用 ExcelWriter 上下文管理器可以方便地寫入多個(gè)工作表
注意事項(xiàng):
- 文件路徑:確保文件路徑正確,并且程序有適當(dāng)?shù)淖x寫權(quán)限。
- 數(shù)據(jù)類型:在導(dǎo)出時(shí),注意數(shù)據(jù)類型的兼容性,特別是當(dāng)數(shù)據(jù)包含特殊字符或日期時(shí)間類型時(shí)。
- 依賴項(xiàng):某些導(dǎo)出方法(如到 SQL 數(shù)據(jù)庫)可能需要額外的庫和數(shù)據(jù)庫驅(qū)動(dòng)。
- 性能:對(duì)于大型數(shù)據(jù)集,導(dǎo)出到某些格式(如 Excel)可能會(huì)很慢,并且可能會(huì)受到內(nèi)存限制。在這種情況下,考慮將數(shù)據(jù)分批導(dǎo)出或使用更適合大數(shù)據(jù)集的格式(如 CSV)。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
淺談python的elementtree模塊處理中文注意事項(xiàng)
這篇文章主要介紹了淺談python的elementtree模塊處理中文注意事項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03python標(biāo)準(zhǔn)庫random模塊處理隨機(jī)數(shù)
這篇文章主要介紹了python標(biāo)準(zhǔn)庫random模塊處理隨機(jī)數(shù),random模塊實(shí)現(xiàn)了各種分布的偽隨機(jī)數(shù)生成器,具體介紹感興趣的小伙伴可以參考一下2022-09-09python爬蟲實(shí)戰(zhàn)之爬取京東商城實(shí)例教程
這篇文章主要介紹了python爬取京東商城的相關(guān)資料,文中通過爬取一個(gè)實(shí)例頁面進(jìn)行了講解,通過示例代碼和圖文介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。2017-04-04pyqt 實(shí)現(xiàn)在Widgets中顯示圖片和文字的方法
今天小編就為大家分享一篇pyqt 實(shí)現(xiàn)在Widgets中顯示圖片和文字的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06Pytorch訓(xùn)練過程出現(xiàn)nan的解決方式
今天小編就為大家分享一篇Pytorch訓(xùn)練過程出現(xiàn)nan的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01python數(shù)字圖像處理之高級(jí)形態(tài)學(xué)處理
這篇文章主要介紹了python數(shù)字圖像處理之高級(jí)形態(tài)學(xué)處理,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04