pandas之文件读写实例全解

import pandas as pd


# 采用类似 pd.read_ 这样的方法,你可以用 Pandas 读取各种不同格式的数据文件,
#           包括 Excel 表格、CSV 文件、SQL 数据库,甚至 HTML 文件等。
# ===========读取 CSV 文件===========
# 用 pd.read_csv() 就能将 CSV 文件里的数据转换成 DataFrame 对象:
# ---------数据源-----------
data_path_01 = "..\py_project\Movies_Recommendation\movies_info.csv"
# ---------读取 CSV 文件-------
df_01 = pd.read_csv(data_path_01)
#print(df_01.head())

# ===========写入 CSV 文件===========
# 将 DataFrame 对象存入 .csv 文件的方法是 .to_csv()
# ---------数据源----------
data_02 = {
        'A':['Dog', 'Dog', 'Dog', 'Goat', 'Goat', 'Goat'],
        'B':['Brown', 'Brown', 'Black', 'Black', 'Brown', 'Brown'],
        'C':['x', 'y', 'x', 'y', 'x', 'y'],
        'D':[1,3,2,5,4,1]
        }
df_02 = pd.DataFrame(data_02)
#print(df_02)
# ---------写入 CSV 文件中---------
# 这里传入 index=False 参数是因为不希望 Pandas 把索引列的 0~5 也存到文件中
#df_02.to_csv('csv_data.csv', index=False)

# =============读取 Excel 表格文件(.xlsx)===========
# Excel 文件是一个不错的数据来源。使用 pd.read_excel() 方法,我们能将 Excel 表格中的数据导入 Pandas 中。
# 请注意,Pandas 只能导入表格文件中的数据,其他对象,例如宏、图形和公式等都不会被导入。
#       如果文件中存在有此类对象,可能会导致 pd.read_excel() 方法执行失败。
# -------数据源--------
data_path_02 = "..\py_project\Movies_Recommendation\movies_info.xlsx"
# -------读取 xlsx 文件------
# 请注意,每个 Excel 表格文件都含有一个或多个工作表,传入 sheet_name='Sheet1' 这样的参数,
#                   就表示只读取 'excel_output.xlsx' 中的 Sheet1 工作表中的内容。
#print(pd.read_excel(data_path_02, sheet_name='Sheet1'))

# =============写入 Excel 表格文件============
# 跟写入 CSV 文件类似,我们可以将一个 DataFrame 对象存成 .xlsx 文件,语法是 .to_excel() :
df_02.to_excel('excel_data.xlsx', sheet_name='Sheet1')

# ================读取 HTML 文件中的数据=================
# 为了读取 HTML 文件,你需要安装 htmllib5,lxml 以及 BeautifulSoup4 库,在终端或者命令提示符运行以下命令来安装:
# 相关命令:  conda/pip install lxml;
#           conda/pip install html5lib
#           conda/pip install BeautifulSoup4
# 举个例子,我们用让 Pandas 读取这个页面的数据: http://news.baidu.com/ 。
#         由于一个页面上含有多个不同的表格,我们需要通过下标 [0, ..., len(tables) - 1] 访问数组中的不同元素。
df_03 = pd.read_html('http://news.baidu.com/')
# 显示本页面的第二个表格  (注:某些网站没有表格数据,读取会报错)
#print(df_03[1])

# ===============读取 数据库 文件==============
# ------建立数据库连接--------
#import pymysql
from sqlalchemy import create_engine

engine = create_engine('mysql+pymysql://root:123456@localhost:3306/login_users')
#db = pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd='123456',db='login_users',charset='utf8')
#cursor = db.cursor()
sql = "select * from money_info;"
# ------查询数据库数据--------
df_04 = pd.read_sql_query(sql, engine)
print(df_04)

# ================将 DataFrame 数据写入 数据库中============
df_04 = pd.DataFrame({'id':[1,2,3,4],
                      'name':['zhangsan','lisi','wangwu','zhuliu'
                    ]})
df_04.to_sql('mydf', engine, index=True)
# 或:
# 参数解释:
# 将新建的DataFrame储存为MySQL中的数据表,不储存index列(index=False)
# if_exists:
# 1.fail:如果表存在,啥也不做
# 2.replace:如果表存在,删了表,再建立一个新表,把数据插入
# 3.append:如果表存在,把数据插入,如果表不存在创建一个表!!
pd.io.sql.to_sql(df_04, 'mydf', con=engine, index=False, if_exists='replace')

猜你喜欢

转载自blog.csdn.net/weixin_40873462/article/details/89556103