乐于分享
好东西不私藏

CSV/Excel文件与SQL数据库的读取与写入

CSV/Excel文件与SQL数据库的读取与写入
#python数据分析

Python的基本写入与读取,csv和SQL

import csvwith open(path+'data.csv','r'as f:    csv_reader=csv.reader(f)    lines=[line for line in csv_reader]
  • 读取csv文件表格
  •  csv.reader()将每一行当成一个列表对象返回。

  • for line in csv_reader:循环遍历 csv 里每一行,每一行临时变量叫 line
 csv_reader=csv.DictReader(f)
  • 自动把第一行当作表头字段名
  • 每一行数据返回字典,key = 表头,value = 当前行对应单元格;
工具
每行返回
取值方式
csv.reader
list
row [0], row [1] 下标取值
csv.DictReader
dict
row ["date"], row ["no1"] 列名取值
import sqlite3 as sq3con=sq3.connect(path+'numbs.db')query='CREATE TABLE numbs (Date date,No1 real,No2 real)'con.execute(query)con.commit()q=con.executeq('SELECT * FROM sqlite_master').fetchall()
  • 作用:打开 / 创建 SQLite 数据库文件连接,返数据库连接对象 con
  • CREATE TABLE numbs:创建一张名为 numbs的数据表:
    Date date字段名:Date;类型:date(SQLite 无原生 date 类型,底层实际存文本 / 数字,用于存储日期字符串如:2026-07-07);No1 字段名:No1;real类型:浮点数,小数 / 整数都能存)
  • execute() 用来执行 SQL 语句:执行建表,磁盘文件 numbs.db内生成 numbs 表结构;
  • sqlite_master是 SQLite 内置系统元数据表,数据库里所有表、索引、视图的信息都存在这里。

    .fetchall() 一次性取全部查询结果,返回一个元组列表

方法
返回值
作用
.fetchall()list[tuple]
获取全部剩余行,元组列表
.fetchone()tuple
 / None
只取下一行,单行元组;无数据返回 None
.fetchmany(n)list[tuple]
取 n 行,返回元组列表
data.to_csv(filename +'.csv')

把文件名为保存为filename, csv格式,写入磁盘。

pd.read_csv(filename +'.csv')

读取这个文件。

data[:100000].to_excel(filename +'.xlsx')df =pd.read_excel(filename +'.xlsx','Sheet1')
  • 写入Excel格式;

  • 读取这个表格的第一张表名为Sheet1

Pandas 常用数据读写格式对照表
格式
输入方法
输出方法
备注说明
CSV
pd.read_csv().to_csv()
文本文件
XLS/XLSX
pd.read_excel().to_excel()
电子表格
HDF
pd.read_hdf().to_hdf()
HDF5 数据库
SQL
pd.read_sql().to_sql()
SQL 表
JSON
pd.read_json().to_json()
JavaScript 对象
MSGPACK
pd.read_msgpack().to_msgpack()
可移植二进制格式
HTML
pd.read_html().to_html()
HTML 代码
GBQ
pd.read_gbq().to_gbq()
Google Big Query
DTA
pd.read_stata().to_stata()
格式 104、105 等
任意
pd.read_clipboard().to_clipboard()
例如,从 HTML 页面复制
任意
pd.read_pickle().to_pickle()
(结构化) Python 对象