import pandas as pd
df = pd.read_csv("./data/my_csv.csv")
print(df,type(df))
# col1 col2 col3 col4 col5
#0 2 a 1.4 apple 2022/1/1
#1 3 b 3.4 banana 2022/1/2
#2 6 c 2.5 orange 2022/1/5
#3 5 d 3.2 grape 2022/1/7
import os
os.getcwd()
#'C:\\Users\\CQB\\Desktop\\内蒙农业大学数据分析教案和代码\\第16天'
read_csv(filepath_or_buffer, sep=',', header='infer', names=None, index_col=None, usecols=None, squeeze=None, prefix=None,
mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False,
skiprows=None, skipfooter=0, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False,
skip_blank_lines=True, parse_dates=None, infer_datetime_format=False, keep_date_col=False, date_parser=None, dayfirst=False,
cache_dates=True, iterator=False, chunksize=None, compression='infer', thousands=None, decimal='.', lineterminator=None,
quotechar='"', quoting=0, doublequote=True, escapechar=None, comment=None, encoding=None, encoding_errors='strict', dialect=None,
error_bad_lines=None, warn_bad_lines=None, on_bad_lines=None, delim_whitespace=False, low_memory=True, memory_map=False,
float_precision=None, storage_options=None)
import pandas as pd
pd.read_csv(r"data\students.csv")
#id name address gender birthday
#0 1 朱梦雪 地球村 女 2004/11/2
#1 2 许文博 月亮星 女 2003/8/7
#2 3 张兆媛 艾尔星 女 2004/11/2
#3 4 付延旭 克哈星 男 2003/10/11
#4 5 王杰 查尔星 男 2002/6/12
#5 6 董泽宇 塔桑尼斯 男 2002/2/12
pd.read_csv("http://my-teaching.top/static/data/students.csv")
f = open(r"data\students.csv", encoding="utf-8")
pd.read_csv(f)
#id name address gender birthday
#0 1 朱梦雪 地球村 女 2004/11/2
#1 2 许文博 月亮星 女 2003/8/7
#2 3 张兆媛 艾尔星 女 2004/11/2
#3 4 付延旭 克哈星 男 2003/10/11
#4 5 王杰 查尔星 男 2002/6/12
#5 6 董泽宇 塔桑尼斯 男 2002/2/12
import pandas as pd
pd.read_csv(r"data\students_step.csv")
#id|name|address|gender|birthday
#0 1|朱梦雪|地球村|女|2004/11/2
#1 2|许文博|月亮星|女|2003/8/7
#2 3|张兆媛|艾尔星|女|2004/11/2
#3 4|付延旭|克哈星|男|2003/10/11
#4 5|王杰|查尔星|男|2002/6/12
#5 6|董泽宇|塔桑尼斯|男|2002/2/12
df = pd.read_csv(r"data\students_step.csv", sep="|")
df
#id name address gender birthday
#0 1 朱梦雪 地球村 女 2004/11/2
#1 2 许文博 月亮星 女 2003/8/7
#2 3 张兆媛 艾尔星 女 2004/11/2
#3 4 付延旭 克哈星 男 2003/10/11
#4 5 王杰 查尔星 男 2002/6/12
#5 6 董泽宇 塔桑尼斯 男 2002/2/12
df = pd.read_csv(r"data\students_whitespace.txt", sep=" ")
df
#id name address gender birthday
#0 1 朱梦雪 地球村 女 2004/11/2
#1 2 许文博\t月亮星 女 2003/8/7 NaN
#2 3 张兆媛 艾尔星 女 2004/11/2
#3 4 付延旭 克哈星 男 2003/10/11
#4 5 王杰\t查尔星 男 2002/6/12 NaN
#5 6 董泽宇\t塔桑尼斯 男 2002/2/12 NaN
df = pd.read_csv(r"data\students_whitespace.txt", delim_whitespace=True)
df
#id name address gender birthday
#0 1 朱梦雪 地球村 女 2004/11/2
#1 2 许文博 月亮星 女 2003/8/7
#2 3 张兆媛 艾尔星 女 2004/11/2
#3 4 付延旭 克哈星 男 2003/10/11
#4 5 王杰 查尔星 男 2002/6/12
#5 6 董泽宇 塔桑尼斯 男 2002/2/12
pd.read_csv(r"data\students.csv")
#id name address gender birthday
#0 1 朱梦雪 地球村 女 2004/11/2
#1 2 许文博 月亮星 女 2003/8/7
#2 3 张兆媛 艾尔星 女 2004/11/2
#3 4 付延旭 克哈星 男 2003/10/11
#4 5 王杰 查尔星 男 2002/6/12
#5 6 董泽宇 塔桑尼斯 男 2002/2/12
pd.read_csv(r"data\students.csv", header=1)
#1 朱梦雪 地球村 女 2004/11/2
#0 2 许文博 月亮星 女 2003/8/7
#1 3 张兆媛 艾尔星 女 2004/11/2
#2 4 付延旭 克哈星 男 2003/10/11
#3 5 王杰 查尔星 男 2002/6/12
#4 6 董泽宇 塔桑尼斯 男 2002/2/12
pd.read_csv(r"data\students.csv", names=["编号", "姓名", "地址", "性别", "出生日期"])
#编号 姓名 地址 性别 出生日期
#0 id name address gender birthday
#1 1 朱梦雪 地球村 女 2004/11/2
#2 2 许文博 月亮星 女 2003/8/7
#3 3 张兆媛 艾尔星 女 2004/11/2
#4 4 付延旭 克哈星 男 2003/10/11
#5 5 王杰 查尔星 男 2002/6/12
#6 6 董泽宇 塔桑尼斯 男 2002/2/12
pd.read_csv(r"data\students.csv",
names=["编号", "姓名", "地址", "性别", "出生日期"],
header=1)
#编号 姓名 地址 性别 出生日期
#0 2 许文博 月亮星 女 2003/8/7
#1 3 张兆媛 艾尔星 女 2004/11/2
#2 4 付延旭 克哈星 男 2003/10/11
#3 5 王杰 查尔星 男 2002/6/12
#4 6 董泽宇 塔桑尼斯 男 2002/2/12
df = pd.read_csv(r"data\students.csv", index_col="birthday")
df
# id name address gender
#birthday
#2004/11/2 1 朱梦雪 地球村 女
#2003/8/7 2 许文博 月亮星 女
#2004/11/2 3 张兆媛 艾尔星 女
#2003/10/11 4 付延旭 克哈星 男
#2002/6/12 5 王杰 查尔星 男
#2002/2/12 6 董泽宇 塔桑尼斯 男
df.index=df['birthday']
del df['birthday']
df
# id name address gender
#birthday
#2004/11/2 1 朱梦雪 地球村 女
#2003/8/7 2 许文博 月亮星 女
#2004/11/2 3 张兆媛 艾尔星 女
#2003/10/11 4 付延旭 克哈星 男
#2002/6/12 5 王杰 查尔星 男
#2002/2/12 6 董泽宇 塔桑尼斯 男
df2 = pd.read_csv(r"data\students.csv", index_col=["gender","birthday"])
df2
# id name address
#gender birthday
#女 2004/11/2 1 朱梦雪 地球村
# 2003/8/7 2 许文博 月亮星
# 2004/11/2 3 张兆媛 艾尔星
#男 2003/10/11 4 付延旭 克哈星
# 2002/6/12 5 王杰 查尔星
# 2002/2/12 6 董泽宇 塔桑尼斯
df2.loc["女"]
# id name address
#birthday
#2004/11/2 1 朱梦雪 地球村
#2003/8/7 2 许文博 月亮星
#2004/11/2 3 张兆媛 艾尔星
pd.read_csv(r"data\students.csv", usecols=["name","birthday"])
# name
#0 朱梦雪
#1 许文博
#2 张兆媛
#3 付延旭
#4 王杰
#5 董泽宇
pd.read_csv(r"data\students_gbk.csv") # UnicodeDecodeError
pd.read_csv(r"data\students_gbk.csv", encoding="gbk")
#id name address gender birthday
#0 1 朱梦雪 地球村 女 2004/11/2
#1 2 许文博 月亮星 女 2003/8/7
#2 3 张兆媛 艾尔星 女 2004/11/2
#3 4 付延旭 克哈星 男 2003/10/11
#4 5 王杰 查尔星 男 2002/6/12
#5 6 董泽宇 塔桑尼斯 男 2002/2/12
df = pd.read_csv(r"data\students_step_001.csv", sep="|")
df
#id name address gender birthday
#0 1 朱梦雪 地球村 女 2004/11/2
#1 2 许文博 月亮星 女 2003/8/7
#2 3 张兆媛 艾尔星 女 2004/11/2
#3 4 付延旭 克哈星 男 2003/10/11
#4 5 王杰 查尔星 男 2002/6/12
#5 6 董泽宇 塔桑尼斯 男 2002/2/12
df = pd.read_csv(r"data\students_step_001.csv", sep="|", dtype ={"id":str})
df
#id name address gender birthday
#0 001 朱梦雪 地球村 女 2004/11/2
#1 002 许文博 月亮星 女 2003/8/7
#2 003 张兆媛 艾尔星 女 2004/11/2
#3 004 付延旭 克哈星 男 2003/10/11
#4 005 王杰 查尔星 男 2002/6/12
#5 006 董泽宇 塔桑尼斯 男 2002/2/12
pd.read_csv('data\students.csv', converters={"id": lambda x: int(x) + 10})
#id name address gender birthday
#0 11 朱梦雪 地球村 女 2004/11/2
#1 12 许文博 月亮星 女 2003/8/7
#2 13 张兆媛 艾尔星 女 2004/11/2
#3 14 付延旭 克哈星 男 2003/10/11
#4 15 王杰 查尔星 男 2002/6/12
#5 16 董泽宇 塔桑尼斯 男 2002/2/12
pd.read_csv('data\students.csv', true_values=['男'], false_values=['女'])
# id name address gender birthday
#0 1 朱梦雪 地球村 False 2004/11/2
#1 2 许文博 月亮星 False 2003/8/7
#2 3 张兆媛 艾尔星 False 2004/11/2
#3 4 付延旭 克哈星 True 2003/10/11
#4 5 王杰 查尔星 True 2002/6/12
#5 6 董泽宇 塔桑尼斯 True 2002/2/12
pd.read_csv('data\students.csv', skiprows=[0,3])
# 1 朱梦雪 地球村 女 2004/11/2
#0 2 许文博 月亮星 女 2003/8/7
#1 4 付延旭 克哈星 男 2003/10/11
#2 5 王杰 查尔星 男 2002/6/12
#3 6 董泽宇 塔桑尼斯 男 2002/2/12
pd.read_csv('data\students.csv', skiprows=lambda x: x > 0 and x % 2 == 0)
# id name address gender birthday
#0 1 朱梦雪 地球村 女 2004/11/2
#1 3 张兆媛 艾尔星 女 2004/11/2
#2 5 王杰 查尔星 男 2002/6/12
pd.read_csv('data\students.csv', skipfooter=1)
pd.read_csv('data\students.csv', skipfooter=1, engine="python", encoding="utf-8")
# id name address gender birthday
#0 1 朱梦雪 地球村 女 2004/11/2
#1 2 许文博 月亮星 女 2003/8/7
#2 3 张兆媛 艾尔星 女 2004/11/2
#3 4 付延旭 克哈星 男 2003/10/11
#4 5 王杰 查尔星 男 2002/6/12
pd.read_csv('data\students.csv', nrows=3)
# id name address gender birthday
#0 1 朱梦雪 地球村 女 2004/11/2
#1 2 许文博 月亮星 女 2003/8/7
#2 3 张兆媛 艾尔星 女 2004/11/2
pd.read_csv('data\students.csv', na_values=["女", "朱梦雪"])
#id name address gender birthday
#0 1 NaN 地球村 NaN 2004/11/2
#1 2 许文博 月亮星 NaN 2003/8/7
#2 3 张兆媛 艾尔星 NaN 2004/11/2
#3 4 付延旭 克哈星 男 2003/10/11
#4 5 王杰 查尔星 男 2002/6/12
#5 6 董泽宇 塔桑尼斯 男 2002/2/12
df = pd.read_csv('data\students.csv')
df.dtypes
#id int64
#name object
#address object
#gender object
#birthday object
#dtype: object
df = pd.read_csv('data\students.csv', parse_dates=["birthday"])
df.dtypes
#id int64
#name object
#address object
#gender object
#birthday datetime64[ns]
#dtype: object
chunk = pd.read_csv('data\students.csv', iterator=True)
chunk
#
print(chunk.get_chunk(2))
# id name address gender birthday
#0 1 朱梦雪 地球村 女 2004/11/2
#1 2 许文博 月亮星 女 2003/8/7
print(chunk.get_chunk(100))
# id name address gender birthday
#2 3 张兆媛 艾尔星 女 2004/11/2
#3 4 付延旭 克哈星 男 2003/10/11
#4 5 王杰 查尔星 男 2002/6/12
#5 6 董泽宇 塔桑尼斯 男 2002/2/12
chunk = pd.read_csv('data\students.csv', chunksize=2)
print(chunk)
print(chunk.get_chunk())
#
# id name address gender birthday
#0 1 朱梦雪 地球村 女 2004/11/2
#1 2 许文博 月亮星 女 2003/8/7