python处理excel和csv文件基础非常详细

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()
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值