使用python pandas读取csv文件数据

csv是我接触的比较早的一种文件,比较好的是这种文件既能够以电子表格的形式查看又能够以文本的形式查看。最早接触是在别人的Perl脚本中,或许是为了充分利用Perl的文本处理能力。不过,日常的生活工作中我用到的比较多的倒还是电子表格。

创建一个电子表格如下:


使用MacNumbers功能将其导出为csv文件,使用文本查看文件内容如下:

GreydeMac-mini:chapter06 greyzhang$ cat data.csv 

index,name,comment,,,,

1,name_01,coment_01,,,,

2,name_02,coment_02,,,,

3,name_03,coment_03,,,,

4,name_04,coment_04,,,,

5,name_05,coment_05,,,,

6,name_06,coment_06,,,,

7,name_07,coment_07,,,,

8,name_08,coment_08,,,,

9,name_09,coment_09,,,,

10,name_10,coment_10,,,,

11,name_11,coment_11,,,,

12,name_12,coment_12,,,,

13,name_13,coment_13,,,,

14,name_14,coment_14,,,,

15,name_15,coment_15,,,,

16,name_16,coment_16,,,,

17,name_17,coment_17,,,,

18,name_18,coment_18,,,,

19,name_19,coment_19,,,,

20,name_20,coment_20,,,,

21,name_21,coment_21,,,,


换用pandas尝试数据文件读取如下:

In [1]: import pandas as pd


In [2]: ls

data.csv      data.numbers


In [3]: data = pd.read_csv('data.csv')


In [4]: data

Out[4]: 

    index     name    comment  Unnamed: 3  Unnamed: 4  Unnamed: 5  Unnamed: 6

0       1  name_01  coment_01         NaN         NaN         NaN         NaN

1       2  name_02  coment_02         NaN         NaN         NaN         NaN

2       3  name_03  coment_03         NaN         NaN         NaN         NaN

3       4  name_04  coment_04         NaN         NaN         NaN         NaN

4       5  name_05  coment_05         NaN         NaN         NaN         NaN

5       6  name_06  coment_06         NaN         NaN         NaN         NaN

6       7  name_07  coment_07         NaN         NaN         NaN         NaN

7       8  name_08  coment_08         NaN         NaN         NaN         NaN

8       9  name_09  coment_09         NaN         NaN         NaN         NaN

9      10  name_10  coment_10         NaN         NaN         NaN         NaN

10     11  name_11  coment_11         NaN         NaN         NaN         NaN

11     12  name_12  coment_12         NaN         NaN         NaN         NaN

12     13  name_13  coment_13         NaN         NaN         NaN         NaN

13     14  name_14  coment_14         NaN         NaN         NaN         NaN

14     15  name_15  coment_15         NaN         NaN         NaN         NaN

15     16  name_16  coment_16         NaN         NaN         NaN         NaN

16     17  name_17  coment_17         NaN         NaN         NaN         NaN

17     18  name_18  coment_18         NaN         NaN         NaN         NaN

18     19  name_19  coment_19         NaN         NaN         NaN         NaN

19     20  name_20  coment_20         NaN         NaN         NaN         NaN

20     21  name_21  coment_21         NaN         NaN         NaN         NaN


查看读取出来的结果,看的出结果被处理成了pandasDataFrame格式。


In [6]: type(data)

Out[6]: pandas.core.frame.DataFrame


前阵子学习pandas的时候这部分功能学的一头雾水,如今看到这部分真有点束手无策。看来,后面还是得好好学习一下,补一下落下的课程了。


### 如何使用 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、付费专栏及课程。

余额充值