030_ 数据迁移_杂

/////////////////////////////////////////////////
df = pd.DataFrame({"ID":[1,2,3], "Name":["Time", "Victor", "Nick"]})
df = df.set_index("ID")    # 设置索引
print(df)

df.to_excel("C:/Users/Administrator/Desktop/Test_excel/output.xlsx")
print("Done!")



/////////////////////////////////////////////////
import pandas as pd

people = pd.read_excel("C:/Users/Administrator/Desktop/Test_excel/id.xls")

print(people.shape)    # 有效行列
print(people.columns)    # 有效列

print(people.head())    # 默认 - 前五行
print(people.head(3))    # 默认 - 前五行

print(people.tail(5))    # 默认 - 尾五行



/////////////////////////////////////////////////
// 空行/乱行处理 - 
// columns 从0开始
people = pd.read_excel("C:/Users/Administrator/Desktop/Test_excel/id.xls",header=1 // )



/////////////////////////////////////////////////
// 没columns处理
people = pd.read_excel("C:/Users/Administrator/Desktop/Test_excel/id.xlsx", header=None)
people.columns = ["id", "nsc_id", "num", "engish_name", "chinese_name"]    # 设置列头

people = people.set_index("id")            # 设置索引
people.set_index("id", inplace=True)    # 设置索引

people.to_excel("C:/id.xlsx")    # 复制表格


/////////////////////////////////////////////////
// 其他数据类型 -> pd
// 方法一
d = {"x":100, "y":200, "z":300}
print(d)

s1 = pd.Series(d)
print(s1)
print(s1.index)


// 方法二
L1 = [100, 200, 300]
L2 = ["x", "y", "z"]

s1 = pd.Series(L2,index=L1)
print(s1)

print(s1.index)


// 方法三 
s1 = pd.Series([100, 200, 300],index=["x", "y", "z"])
print(s1)

print(s1.index)


// 方法四
s1 = pd.Series(["Time", "Victor", "Nick"],index=[1,2,3])
print(s1)



/////////////////////////////////////////////////
// BUG
    1 变成科学计数法: 1326732364356800522 -> 1310146663108920000
import pandas as pd

# 读取原始表
df_grade = pd.read_excel("E:/ProgramData/PyCharm/pandas_v2/excels/学生成绩表.xlsx")
print(df_grade.head())

df_sinfo = pd.read_excel("E:/ProgramData/PyCharm/pandas_v2/excels/学生信息表.xlsx")
print(df_sinfo.head())

# 裁剪表
df_sinfo = df_sinfo[["学号", "姓名", "性别"]]
print(df_sinfo.head())

# 拼接表
df_merge = pd.merge(left=df_grade, right=df_sinfo, left_on="学号", right_on="学号")
print(df_merge.head())

# 调整列的顺序
new_columns = df_merge.columns.to_list()
print(new_columns)

for name in ["姓名", "性别"][::-1]:
    new_columns.remove(name)
    new_columns.insert(new_columns.index("学号") + 1, name)
print(new_columns)

df_merge = df_merge.reindex(columns = new_columns)
print(df_merge.head())

# 输出表
df_merge.to_excel("E:/ProgramData/PyCharm/pandas_v2/excels/merge.xlsx")
原文地址:https://www.cnblogs.com/huafan/p/14668212.html