python - 使用python将多个csv文件导入SQL
问题描述
嘿,我正在尝试从我拥有的文件夹中导入多个 csv 文件(例如 1200 个 csv 文件)
我能够创建一个将插入一个 csv 文件的代码,但我不太确定如何更改它以通过代码获取多个文件,而不是每次手动更改文件的名称。
这是代码:
import pandas as pd
# Import CSV
data = pd.read_csv (r'D:\USA-Data\USA\2007\ORATS_SMV_Strikes_20070131.csv')
df = pd.DataFrame(data, columns= ['ticker','stkPx','expirDate','yte','strike','cVolu','cOi','pVolu','pOi','cBidPx','cValue','cAskPx','pBidPx','pValue','pAskPx','cBidIv','cMidIv','cAskIv','smoothSmvVol','pBidIv','pMidIv','pAskIv','iRate','divRate','residualRateData','delta','gamma','theta','vega','rho','phi','driftlessTheta','extVol','extCTheo','extPTheo','spot_px','trade_date'])
df = df.fillna(0)
print(df)
# Connect to SQL Server
import pyodbc
conn = pyodbc.connect('Driver={SQL Server};'
'Server=WIN7-PC;'
'Database=USA;'
'Trusted_Connection=yes;')
cursor = conn.cursor()
# Insert DataFrame to Table
for row in df.itertuples():
cursor.execute('''INSERT INTO USA.dbo.USAData(ticker,stkPx,expirDate,yte,strike,cVolu,cOi,pVolu,pOi,cBidPx,cValue,cAskPx,pBidPx,pValue,pAskPx,cBidIv,cMidIv,cAskIv,smoothSmvVol,pBidIv,pMidIv,pAskIv,iRate,divRate,residualRateData,delta,gamma,theta,vega,rho,phi,driftlessTheta,extVol,extCTheo,extPTheo,spot_px,trade_date)VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)''',
row.ticker,
row.stkPx,
row.expirDate,
row.yte,
row.strike,
row.cVolu,
row.cOi,
row.pVolu,
row.pOi,
row.cBidPx,
row.cValue,
row.cAskPx,
row.pBidPx,
row.pValue,
row.pAskPx,
row.cBidIv,
row.cMidIv,
row.cAskIv,
row.smoothSmvVol,
row.pBidIv,
row.pMidIv,
row.pAskIv,
row.iRate,
row.divRate,
row.residualRateData,
row.delta,
row.gamma,
row.theta,
row.vega,
row.rho,
row.phi,
row.driftlessTheta,
row.extVol,
row.extCTheo,
row.extPTheo,
row.spot_px,
row.trade_date
)
conn.commit()
文档的名称是这样的:
ORATS_SMV_Strikes_20070201.csv ORATS_SMV_Strikes_20070202.csv ORATS_SMV_Strikes_20070205.csv
等等...
真的会感谢我能得到的所有帮助!
解决方案
推荐阅读
- javascript - .inject() 和 .goto() 方法不适用于噩梦
- vba - 如何在 Excel 中从 vba 连接到 ms-access 数据库?
- spring - 带有用户名和密码的 Zonky + Spring Boot + Postgres + Flyway
- jquery - 如何在所有类中从 YYYY-MM-DD 转换为 DD-MM-YYYY,每个类在 jquery 中具有不同的值?
- javascript - 使用 identityserver4 和 aspnet 身份时如何安全地实现空闲超时?
- python - 如何比较子列表的值
- java - 无法更改预定义的字符串值
- r - R中多边形的交集使用sf
- node.js - 如何有效地发送大数据包/合并较小的数据包?
- python - 如何将方程绘制到具有重新定义索引的数组中