python数据类型转换为pandas
import pandas as pd
from sqlalchemy import create_engine
a = [[1, 2, 3], [4, 5, 6]] # list嵌套list,每一个内部的list都是一行数据
print(pd.DataFrame(a, columns=['a', 'b', 'c']))
b = {'a': [1, 4], 'b': [2, 5], 'c': [3, 6]} # dict嵌套list, 每一个内部list都是一列,key为column
print(pd.DataFrame(b))
c = {'a': {0: 1, 1: 4}, 'b': {0: 2, 1: 5}, 'c': {0: 3, 1: 6}} # dict嵌套dict, 同时给定column和index, 第一层key为column, 第二层key为index,一列一列写数据
print(pd.DataFrame(c))
# df存入mysql 需要使用sqlalchy包
engine = create_engine('mysql+pymysql://username:password@ip/dbname')
original_data = pd.read_sql_table('table_name', engine)
pd.io.sql.to_sql(df, 'table_name', con=engine, schema='dbname', if_exists='append', index=False) # df写入表
# original_data = pd.read_sql_table('tjb', engine) # 读取表
3种方式得到一样的df结果
爬取疫情数据存入mysql用到了第三种方式
pandas DataFrame转换为python数据类型
import pandas as pd
a = {'a': [1, 2, 3], 'b': [4, 5, 6]}
df = pd.DataFrame(a)
print(a)
print(df.to_dict(orient='dict'))
print(df.to_dict(orient='list'))
print(df.to_dict(orient='records'))
print(df.to_dict(orient='splits'))
结果为