Python使用pandas处理CSV文件

Python中有许多方便的库可以用来进行数据处理,尤其是Numpy和Pandas,再搭配matplot画图专用模块,功能十分强大。

CSV(Comma-Separated Values)格式的文件是指以纯文本形式存储的表格数据,这意味着不能简单的使用Excel表格工具进行处理,而且Excel表格处理的数据量十分有限,而使用Pandas来处理数据量巨大的CSV文件就容易的多了。

我用到的是自己用其他硬件工具抓取得数据,硬件环境是在Linux平台上搭建的,当时数据是在运行脚本后直接输出在terminal里的,数据量十分庞大,为了保存获得的数据,在Linux下使用了数据流重定向,把数据全部保存到了文本文件中,形成了一个本地csv文件。

Pandas读取本地CSV文件并设置Dataframe(数据格式)

import pandas as pd
import numpy as np
df=pd.read_csv('filename',header=None,sep=' ') #filename可以直接从盘符开始,标明每一级的文件夹直到csv文件,header=None表示头部为空,sep=' '表示数据间使用空格作为分隔符,如果分隔符是逗号,只需换成 ‘,’即可。
print df.head()
print df.tail()
#作为示例,输出CSV文件的前5行和最后5行,这是pandas默认的输出5行,可以根据需要自己设定输出几行的值

数据读取示例

图片中显示了我本地数据的前5行与最后5行,最前面一列没有标号的是行号,数据一共有13列,标号从0到12,一行显示不完全,在第9列以后换了行,并且用反斜杠“\”标注了出来。

2017年4月28日更新
使用pandas直接读取本地的csv文件后,csv文件的列索引默认为从0开始的数字,重定义列索引的语句如下:

import pandas as pd
import numpy as np
df=pd.read_csv('filename',header=None,sep=' ',names=["week",'month','date','time','year','name1','freq1','name2','freq2','name3','data1','name4','data2'])
print df

此时打印出的文件信息如下,列索引已经被重命名:
重定义CSV文件列名

### 如何使用 PandasPython 中读取 CSV 文件Python 中,Pandas 是一个强大的数据分析库,提供了简单易用的接口来处理 CSV 文件。以下是一个详细的说明和示例代码。 要读取 CSV 文件,可以使用 `pandas.read_csv()` 方法[^1]。此方法允许指定文件路径、编码方式以及其他参数以适应不同的文件格式需求。例如,如果文件包含中文字符,可能需要设置适当的编码格式(如 `gbk` 或 `utf-8`)[^1]。 以下是使用 Pandas 读取 CSV 文件的基本示例代码: ```python import pandas as pd # 指定文件路径和编码方式 df = pd.read_csv('property-data.csv', encoding="gbk") # 使用 gbk 编码处理中文字符 print(df.to_string()) # 打印整个 DataFrame 的内容 ``` 在上述代码中: - `'property-data.csv'` 是目标 CSV 文件的路径。 - `encoding="gbk"` 指定了文件的编码格式,适用于包含中文字符的文件[^1]。 - `df.to_string()` 将整个 DataFrame 转换为字符串并打印,确保输出所有行和列。 此外,还可以通过传递自定义列名来读取 CSV 文件。例如: ```python import pandas as pd # 自定义列名 df = pd.read_csv('data.csv', names=['ts_code', 'symbol', 'name', 'area', 'industry', 'list_date'], index_col=None) print(df.head()) # 显示前几行数据 ``` 在此代码中: - `names` 参数用于定义自定义列名[^4]。 - `index_col=None` 表示不将任何列设置为索引[^4]。 ### 高级功能 如果需要逐行读取大型 CSV 文件,可以结合 `chunksize` 参数分块读取,避免内存不足的问题[^2]: ```python import pandas as pd # 分块读取 CSV 文件 chunk_size = 1000 # 每次读取的行数 chunks = [] for chunk in pd.read_csv('large_file.csv', chunksize=chunk_size): chunks.append(chunk) # 合并所有分块 df = pd.concat(chunks, ignore_index=True) print(df.head()) ``` 以上代码展示了如何通过分块读取大型 CSV 文件,并将其合并为一个完整的 DataFrame[^2]。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值