一、读取文件
import pandas as pd
# 用json,创建DataFrame对象
df = pd.DataFrame(file_json["testsuites"])
# 读取excle
df = pd.read_excel("173141.xlsx", sheet_name='Sheet')
# 读取csv
df = pd.read_csv('2010.1.1-2014.12.31.csv')
# 读取表格时候,选出指定名称列,加载到dataframe
clos = ["ptd_chip_id_1_h","ptd_chip_id_1_l"]
df = pd.read_csv("BeetlePlusE_JF93K_8S_FTQA_V01_ENG_src_co_r0.csv", usecols=clos ,low_memory=False)
# df.head(),未加入参数,默认输出5行
print(df.head(10))
# 打印表头
print(df.columns)
显示格式为dataframe
ptd_chip_id_1_h ptd_chip_id_1_l ate_tk_cs2 ate_tk_cs3 ate_tk_cs4 ate_tk_cs5
0 790077.000 790078.000 790510.000 790511.000 790512.000 790513.000
1 -32767.000 -32767.000 -4290000000.000 -4290000000.000 -4290000000.000 -4290000000.000
2 32766.000 32766.000 4290000000.000 4290000000.000 4290000000.000 4290000000.000
3 NaN NaN NaN NaN NaN NaN
4 NaN NaN NaN NaN NaN NaN
5 13835.000 7941.000 53.235 53.235 14.323 40.947
6 13835.000 8712.000 53.235 53.235 14.323 40.947
二、科学计数法
1、打印时候,避免显示科学计数法
#避免显示问题,设置不显示科学计数法
pd.set_option("display.float_format", lambda x: "%.3f" % x)
三、常用方法
# 修改数据类型
df["ptd_chip_id_1_h"].astype('int')
# 修改为16进制数
df["chip_id"].apply(lambda x: hex(x))
# 创建新的dataframe
df = pd.DataFrame()
# 创建列并且赋值
df["name"] = [0,1,2,3]
# 创建新列,并指定第N行赋值
df.loc[N, "chip_id"] = 0
# 已经存在的列,取第N行数据
df["CDC_OUT2"][N]
# 列重命名
df.rename(columns={"old_name": "new_name"}, inplace=True)
# 保存数据为xlsx
df.to_excel(os.path.join(current_dir, "lab_sum.xlsx"))
# 数据按行拼接
df_sum = pd.concat([df_sum, df_tmp.iloc[:1]], ignore_index=True)
# 数据按列拼接
df_tmp = pd.concat([df, df_tmp],ignore_index=True ,axis=0)
# 合并数据框,左右两个表格得关键字,outer拓展
df1 = pd.merge(PD, df_tmp, left_on='case_name', right_on='name', how='outer')
四、写入同一个表格,不同sheet
import pandas as pd
writer = pd.ExcelWriter('test_excel.xlsx')
df = pd.read_excel(r"165602.xlsx", sheet_name='Sheet')
df.to_excel(writer,sheet_name='AAA')
df.to_excel(writer,sheet_name='BBB')
# 升级之后, writer.save()接口已经私有化,调用close()即可, 添加writer.save()提示FutureWarning
writer.close()
五、很多数据创建一个pandas
tuples_list = []
with open(os.path.join(input_path, "Msg.bin"), 'rb') as f:
while True:
binary_data = f.read(struct.calcsize(input_all_str))
if not binary_data:
break
# 解析函数
parsed_data = struct.unpack(input_all_str, binary_data)
tuples_list.append(parsed_data)
# print(parsed_data)
# data_list.append(parsed_data)
df_all = pd.DataFrame(tuples_list, columns=input_all_head_list)