目的:
- 从excel表格中读取数据
- 读取并修改,然后再放回excel表格中
- 从数据库中读取,并写入excel文件(单个/多个sheet)
#!/usr/bin/env python
# 一、仅读取表中数据,且无需保留任何公式
## 1:pandas.read_csv() / pandas.read_excel()
df = pd.read_csv(filepath,sep=',',header = None,engine='python')
df = pd.read_excel(filepath,sheet_name ='sheet3',header = None, )
两者的区别就是,
read_csv:读取仅有一张sheet的excel文件 / csv文件 /txt文件(指定分隔符即可)
read_excel:可以读取指定的sheet
#二、 需要保存表格的格式和公式:openpyxl 库
from openpyxl import load_workbook
wb = load_workbook(filename = filepath_input)
ws=wb["sheet_name"]
具体修改某个单元格可以通过:
ws.cell(row,col,value)
新增数据:
wb[sheet_name].append(line)
wb.save(filepath_output)
删除指定范围行数据:
ws.delete_rows(1,ws.max_row)
删除后新增(append)需要保存一次再读取才能从第一行开始
# 三、从数据库读取写入excel文件
## 1.单个sheet
import pandas as pd
import psycopg2 #(postgresql)
sql = """ """
conn = psycopg2.connect(database="", user="", password="", host="", port="")
data = pd.read_sql_query(sql,con = conn)
data.to_excel(filepath,sheet_name='')
# 2.多个sheet
writer = pd.ExcelWriter(filepath_output)
data1.to_excel(writer,sheet_name='1',index=False)
data2.to_excel(writer,sheet_name='2',index=False)
data3.to_excel(writer,sheet_name='3',index=False)
writer.save()
检测文件夹是否存在,不能存在则创建
if os.path.exists('commit_files/'):
pass
else:
os.makedirs('commit_files')
#for 循环生成列表:
[i for i in range(55,59)]