import pandas as pd # 读取第一个sheet所有数据 df = pd.read_excel("data_info.xlsx", sheet_name="TF_B_TRADE_SALE_ACTIVE") # head 默认读取前5行 print(df.head(1)) print(df.shape) # 读取csv 文件 df = pd.read_csv(r"F:\test\data_info.csv") df.to_excel("data_test.xlsx", sheet_name="test1") df.to_excel("data_test.xlsx", sheet_name="test2") # 在同一个excel写入多个sheet writer = pd.ExcelWriter("多个sheet.xlsx") df.to_excel(writer, sheet_name="sheet_test2") df.to_excel(writer, sheet_name="sheet_test3") # 需要保存 writer.save() writer.close() # 会话试保存多个sheet到excel with pd.ExcelWriter("会话式保存多个sheet.xlsx") as wt: df.to_excel(wt, sheet_name="testsheet1") df.to_excel(wt, sheet_name="testsheet2") df.to_excel(wt, sheet_name="testsheet3") df.to_excel(wt, sheet_name="testsheet4") wt.save() wt.close() # 读取csv文件 df_csv = pd.read_csv(r"F:\test\data_info.csv") # 默认读取5行 df_csv.head() # 保存csv文件 df_csv.to_csv("保存csv文件.csv") df_csv.to_csv("保存csv文件.csv") # 在同一个csv文件保存多个sheet df_csv.to_csv("保存csv文件.csv") # # # mode默认w a是追加的意思 默认加上表头 df_csv.to_csv("保存csv文件.csv", mode='a') # # # mode默认w a是追加不加表头 df_csv.to_csv("保存csv文件.csv", mode='a', header=None) # read_csv 常用参数 # 表头 header=0 设置第0行为表头 header=[0,1] 前两行为表头 # names 设置表头为这个列表 names = ["a", "b", "c", "d", "e", "f", "g", "h"] # index_col=0 第0行为索引 或者直接给表头的值index_col='trade_id' # usecols=["trade_id", "order_id"] 读取这两列或者usecols=[0,6]读取第0-6列或者指定那几列[0,3,5] 035列 # chunksize 数据的分段读取 是个可迭代的阅读器 df_csv1 = pd.read_csv("test.csv", header=0, index_col=0, usecols=[0, 6], chunksize=100) reader = pd.read_csv("test.csv", chunksize=200) # next(reader) # 每调用一次读取200行 chunk = [] for i in reader: chunk.append(i) # 合并分段读取的数据 df_all = pd.concat(chunk, axis=0) # 使用iterator 进行分段读取 也是一个迭代器 使用get_chunk()获取数据 reader1 = pd.read_csv("test.csv", iterator=True) chunks = [] while True: try: reader = reader1.get_chunk(100) print(reader.shape) chunks.append(reader) except: break # 在吧所有数据连接 df_all = pd.concat(chunks) print(df_all.shape) # 查看这个表格又多少行多少列 print(df_csv1.shape) # ##################################pandas查看数据的方法############ df = pd.read_csv("test.csv") # 查看数据的维度行列式多少 print(df.shape) # 查看数据尺寸 print(df.size) # 设置界面显示最大行列 pd.options.display.max_columns = None pd.options.display.max_rows = None # 查看前n条 n默认等于5 df.head(20) # 查看后n条tail默认n=5 df.tail(20) # 查看指定条件的数据 df[df["trade_id"] == "3121013038752937"][df["order_id"] == "3121013038752937"].head() df[df["trade_id"] == "3121013038752937"].head() # 查看指定列 df[["trade_id", "order_id"]].head() # 查看指定行左包含右不包含 df[20:30].head() # 查看指定行和列 20到30行的trade_id和order列 data = df.loc[20:30, ["trade_id", "order_id"]] print(data) # 查看指定行和列 10到20行 第0到5列 data = df.iloc[10:20, :5] print(data) # 查看单元格第20行第4列 data = df.iat[20, 4] print(data) # 查看第20行trade_id列的单元格 data = df.loc[20, "trade_id"] print(data) # ###########################pandas查看数据的详细信息############## df = pd.read_csv("test.csv") # 查看数据类型 data = df.dtypes print(data) # 统计不同类型数据指标的数量 from collections import Counter as ct ct(df.dtypes.values) # 查看数据的详细信息、类型统计、数据大小、雷村占用信息等 df.info() df.info()
python处理excel和csv文件基础非常详细
最新推荐文章于 2023-09-13 14:00:00 发布