欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 美景 > python 读取csv文件到mysql操作

python 读取csv文件到mysql操作

2024/11/30 8:42:50 来源:https://blog.csdn.net/weixin_41429931/article/details/140931922  浏览:    关键词:python 读取csv文件到mysql操作

文章目录

  • 修改文件编码为utf-8
  • 读取文件到python然后转写入sql
  • 查看包安装位置

修改文件编码为utf-8

  1. wps 通过excel打开csv文件会造成文件编码格式的损坏,此时我们可以通过vim对数据格式进行修改
  2. 需要注意的是,excel文件中数据是如何显示的vim文件中就会如何显示,因此诸如订单号之类的数字需要提前在excel之中转换为text或者是非数字的格式,否则会造成转换损失
> vim xxx.csv
-----------------------
:set fileencoding=utf-8
:wq!

我们也可以通过chardet包确定csv文件的编码格式

import chardetwith open(csv_path, 'rb') as f:result = chardet.detect(f.readline())encoding = result['encoding']
print(encoding)

读取文件到python然后转写入sql

import pymysql
from sqlalchemy import create_engine, Text, Integer, DateTime, Float
import pandas as pd
import os
from datetime import datetimecsv_path = "your_path/your_file.csv"
work_path = os.path.abspath(' ')# read data from csv to dataframe
df = pd.read_csv(csv_path,index_col=0,encoding="utf-8")# transfer datetime format         
dformat = format('%Y-%m-%d %H:%M:%S %Z') 
df["event_time"] = df["event_time"] \.apply(lambda date: datetime.strptime(date,dformat))# write dataframe into mysql table
engine = create_engine("mysql+pymysql://user:psassword@localhost:3306/da?charset=utf8mb4")
datatype={'event_time':DateTime,"order_id":Text,"product_id":Text,"category_id":Text,"category_code":Text,"brand":Text,"price":Float,"user_id":Text,"age":Integer,"sex":Text,"local":Text}
df.to_sql(name="sales_order_detail",con=engine,if_exists='append',index=True,index_label='id',dtype=datatype)# accquire connection object
conn = pymysql.connect(host="localhost",port=3306,user="root",password="19950623",db="da",charset="utf8")

查看包安装位置

import sys
import siteprint(sys.executable+"\r")
print(site.getsitepackages())

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com