版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本教程介绍了如何使用pandas包的read_csv函数在python中读取CSV文件。如果不使用read_csv函数,用python面向对象编程导入CSV文件并不简单。Pandas是一个非常强大的数据操作python包,支持各种函数从各种格式加载和导入数据。在这里,我们将介绍如何处理导入CSV文件时的常见问题。目录[示例1:读取带有标题行的CSV文件][示例2:读取标题在第二行的CSV文件][示例3:跳过行但保留标题][示例4:读取没有标题行的CSV文件][示例5:指定缺失值][示例6:设置索引列][示例7:从外部URL读取CSV文件][示例8:导入CSV时跳过最后5行][示例9:只读取前5行][示例10:将“,”解释为千位分隔符][示例11:只读特定列][示例12:读取一些行和列][示例13:使用分号分隔符读取文件][示例14:导入CSV时更改列类型][示例15:测量导入大CSV文件所花费的时间][示例16:如何在不使用Pandas包的情况下读取CSV文件]
安装和加载Pandas包确保你的系统上已经安装了\o"pandas包"pandas包。如果你使用Anaconda设置python,它带有pandas包,所以你不需要再次安装它。否则,您可以使用命令安装它pipinstallpandas。下一步是通过运行以下命令来加载包。pd是熊猫包的别名。我们将使用它来代替全名“pandas”。importpandasaspd创建用于导入的示例数据下面的程序创建了一个示例pandas数据框,可以进一步用于演示。dt={'ID':[11,12,13,14,15],'first_name':['David','Jamie','Steve','Stevart','John'],'company':['Aon','TCS','Google','RBS','.'],'salary':[74,76,96,71,78]}mydt=pd.DataFrame(dt,columns=['ID','first_name','company','salary'])示例数据如下所示-IDfirst_namecompanysalary011DavidAon74112JamieTCS76213SteveGoogle96314StevartRBS71415John.78在工作目录中将数据保存为CSV格式在保存数据文件之前检查工作目录。importosos.getcwd()如果你想改变工作目录,你可以在os.chdir()函数下指定它。单个反斜杠在Python中不起作用,因此在指定文件位置时使用2个反斜杠。os.chdir("C:\\Users\\DELL\\Documents\\")以下命令告诉python在您的工作目录中写入CSV格式的数据。mydt.to_csv('workingfile.csv',index=False)示例1:读取带有标题行的CSV文件这是read_csv()函数的基本语法。您只需要提及文件名。它假定您的CSV文件的第一行中有列名。mydata=pd.read_csv("workingfile.csv")它以它应该的方式存储数据,因为我们在数据文件的第一行中有标题。重要的是要强调这header=0是默认值。因此我们不需要提及header=参数。这意味着标题从第一行开始,因为python中的索引从0开始。上面的代码相当于这行代码。pd.read_csv("workingfile.csv",header=0)导入后检查数据mydata.shapemydata.columnsmydata.dtypes它返回5行数和4列数。列名是['ID','first_name','company','salary']查看我们导入的数据的列类型。first_name和company是字符变量。其余变量是数字变量。IDint64first_nameobjectcompanyobjectsalaryint64示例2:读取标题在第二行的CSV文件假设您在第二行中有列名或变量名。要读取这种CSV文件,您可以提交以下命令。mydata=pd.read_csv("workingfile.csv",header=1)header=1告诉python从第二行选择标题。它将第二行设置为标题。这不是一个现实的例子。我只是用它来说明,以便您了解如何解决它。为了使其实用,您可以在CSV文件的第一行添加随机值,然后再次导入。11DavidAon74012JamieTCS76113SteveGoogle96214StevartRBS71315John.78定义您自己的列名而不是CSV文件中的标题行mydata0=pd.read_csv("workingfile.csv",skiprows=1,names=['CustID','Name','Companies','Income'])skiprows=1意味着我们忽略第一行并且names=选项用于手动分配变量名。CustIDNameCompaniesIncome011DavidAon74112JamieTCS76213SteveGoogle96314StevartRBS71415John.78示例3:跳过行但保留标题mydata=pd.read_csv("workingfile.csv",skiprows=[1,2])在本例中,我们在导入时跳过了第二行和第三行。不要忘记python中的索引从0开始,因此0指的是第一行,1指的是第二行,2表示第三行。IDfirst_namecompanysalary013SteveGoogle96114StevartRBS71215John.78除了[1,2],您还可以编写range(1,3).
两者意思相同,但是当您想跳过许多行时,range()函数非常有用,因此它可以节省手动定义行位置的时间。skiprows选项的隐藏秘密当skiprows=4时,表示从顶部跳过四行。skiprows=[1,2,3,4]表示从第二到第五跳过行。这是因为当在skiprows=选项中指定列表时,它会跳过索引位置的行。当在选项中指定单个整数值时,它会考虑从顶部跳过这些行示例4:读取没有标题行的CSV文件如果您指定“header=None”,
python将分配一系列从0到(列数-1)的数字作为列名。在这个数据文件中,我们在第一行有列名。mydata0=pd.read_csv("workingfile.csv",header=None)请参阅下面显示的输出-编辑
为列名添加前缀mydata0=pd.read_csv("workingfile.csv",header=None,prefix="var")在这种情况下,我们设置var为前缀,告诉python在每个列名之前包含此关键字。var0var1var2var30IDfirst_namecompanysalary111DavidAon74212JamieTCS76313SteveGoogle96414StevartRBS71515John.78示例5:指定缺失值这些na_values=选项用于在导入CSV文件时将某些值设置为空白/缺失值。mydata00=pd.read_csv("workingfile.csv",na_values=['.'])var0var1var2var30IDfirst_namecompanysalary111DavidAon74212JamieTCS76313SteveGoogle96414StevartRBS71515John.78示例6:设置索引列mydata01=pd.read_csv("workingfile.csv",index_col='ID')IDfirst_namecompanysalary011DavidAon74112JamieTCS76213SteveGoogle96314StevartRBS71415JohnNaN78正如您在上面的输出中看到的,列ID已被设置为索引列。示例7:从外部URL读取CSV文件您可以直接从存储在Web链接上的CSV文件中读取数据。当你需要从github、kaggle和其他网站加载公开可用的数据集时,它非常方便。mydata02=pd.read_csv("/medals.csv")这个DataFrame包含2311行和8列。使用mydata02.shape,您可以生成此摘要。示例8:导入CSV时跳过最后5行mydata04=pd.read_csv("/medals.csv",skip_footer=5)在上面的代码中,我们使用skip_footer=参数排除了底部的5行。示例9:只读取前5行mydata05=pd.read_csv("/medals.csv",nrows=5)使用nrows=选项,您可以加载前K行数。示例10:将“,”解释为千位分隔符mydata06=pd.read_csv("/medals.csv",thousands=",")示例11:只读特定列mydata07=pd.read_csv("/medals.csv",usecols=[1,5,7])上面的代码只读取基于索引位置的列,即第二、第六和第八位置。示例12:读取一些行和列mydata08=pd.read_csv("/medals.csv",usecols=[1,5,7],nrows=5)在上面的命令中,我们组合了usecols=和nrows=选项。它只会选择前5行和选定的列。示例13:使用分号分隔符读取文件mydata09=pd.read_csv("file_path",sep=';')在read_csv()函数中使用sep=参数,您可以使用默认逗号以外的任何分隔符导入文件。在这种情况下,我们使用分号作为分隔符。示例14:导入CSV时更改列类型假设您想在将CSV文件加载到Python中时将列格式从int64更改为float64。我们可以使用dtype=选项。mydf=pd.read_csv("workingfile.csv",dtype={"salary":"float64"})示例15:测量导入大CSV文件所花费的时间通过使用verbose=True,您可以捕获标记化、转换和解析器内存清理所花费的时间。mydf=pd.read_csv("workingfile.csv",verbose=True)示例16:如何在不使用Pandas包的情况下读取CSV文件要使用纯python方式导入CSV文件,您可以提交以下命令:importcsvwithopen("C:/Users/DELL/Downloads/nycflights.csv
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年度人力资源规划提交函3篇
- 预防网络欺凌共创和谐校园小学网络安全主题班会课件
- 关于2026年合作意向书签订的回复8篇
- 化工生产车间生产安全KPI考核表
- AWBQ168订单产品交付安全确认通知(7篇)
- 智能家居系统专利申请进展研发部回复函达(6篇)
- 锐捷科技获得企业智能人力资源管理系统合同确认函6篇范本
- 合作伙伴年度服务评估通知函3篇范本
- 抵制校园欺凌,友善和谐相处,小学主题班会课件
- 第8章 齿轮传动-10.变位齿轮简介
- 2025年中级香道师考试题库及答案详解
- 2025四川成都新都投资集团有限公司招聘23人笔试参考题库附带答案详解(10套)
- 活不养死不葬合同协议书
- 饭堂食材配送合同协议书
- 景区安全生产培训课件
- 华东师大版数学七年级下册期末培优检测卷
- 高中英语外研版选修一单词表
- 八年级数学学习探究诊断(上册)
- 第六届全国农业行业职业技能大赛(农业经理人赛项)理论参考试题库-下(多选、判断题)
- 《电力建设工程施工安全管理导则》(NB∕T 10096-2018)
- (完整版)小毛驴市民农园的经营模式
评论
0/150
提交评论