python读csv文件时指定行为表头或无表头的方法

yipeiwu_com6年前Python基础

pd.read_csv()方法中header参数,默认为0,标签为0(即第1行)的行为表头。若设置为-1,则无表头。示例如下:

(1)不设置header参数(默认)时:

df1 = pd.read_csv('target.csv',encoding='utf-8')
df1

(2)header=1时:

import pandas as pd
df2 = pd.read_csv('target.csv',encoding='utf-8',header=1)
df2
 

  

(3)header=-1时(可用于读取无表头CSV文件):

df3 = pd.read_csv('target.csv',encoding='utf-8',header=-1)
df3
 

 

PS:python 从 CSV 文件中删除表头

假设你有一个枯燥的任务,要删除几百 CSV 文件的第一行。也许你会将它们送入一个自动化的过程,只需要数据,不需要每列顶部的表头。可以在 Excel 中打开每个文件,删除第一行,并重新保存该文件,但这需要几个小时。让我们写一个程序来做这件事。该程序需要打开当前工作目录中所有扩展名为.csv 的文件,读取 CSV 文件的内容,并除掉第一行的内容重新写入同名的文件。这将用新的、无表头的内容替换CSV 文件的旧内容。

总的来说,该程序必须做到以下几点:

  • 找出当前工作目录中的所有 CSV 文件。
  • 读取每个文件的全部内容。
  • 跳过第一行,将内容写入一个新的 CSV 文件。

在代码层面上,这意味着该程序需要做到以下几点:

  • 循环遍历从 os.listdir()得到的文件列表,跳过非 CSV 文件。
  • 创建一个 CSV Reader 对象,读取该文件的内容,利用 line_num 属性确定要跳过哪一行。
  • 创建一个 CSV Writer 对象,将读入的数据写入新文件。针对这个项目,打开一个新的文件编辑器窗口,并保存为 removeCsvHeader.py。 

循环遍历每个 CSV 文件

程序需要做的第一件事情,就是循环遍历当前工作目录中所有 CSV 文件名的列表。让 removeCsvHeader.py 看起来像这样:

#! python3
# removeCsvHeader.py - Removes the header from all CSV files in the current
# working directory

import csv, os

os.makedirs('headerRemoved', exist_ok=True)

# Loop through every file in the current working directory.
for csvFilename in os.listdir('.'):
	if not csvFilename.endswith('.csv'):
		continue	# skip non-csv files

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python中的闭包函数

闭包函数初探 通常我们定义函数都是这样定义的 def foo(): pass 其实在函数式编程中,函数里面还可以嵌套函数,如下面这样 def foo(): print("h...

Python socket.error: [Errno 98] Address already in use的原因和解决方法

一、原因浅析 今天在写一个Python与html5 Websocket 实例,么次终止运行重新运行脚本总是提示地址已经存在并且被使用!查询相关文档才知道在socket编程中,当通过客户端...

解决tensorflow训练时内存持续增加并占满的问题

记录一次小白的tensorflow学习过程,也为有同样困扰的小白留下点经验。 先说我出错和解决的过程。在做风格迁移实验时,使用预加载权重的VGG19网络正向提取中间层结果,结果因为代码不...

Python文档生成工具pydoc使用介绍

Python文档生成工具pydoc使用介绍

在Python中有很多很好的工具来生成字符串文档(docstring),比如说: epydoc、doxygen、sphinx,但始终觉得pydoc还是不错的工具,用法非常简单,功能也算不...

Python分析学校四六级过关情况

Python分析学校四六级过关情况

这段时间看了数据分析方面的内容,对Python中的numpy和pandas有了最基础的了解。我知道如果我不用这些技能做些什么的话,很快我就会忘记。想起之前群里发过一个学校的四六级成绩表,...