pandas读取csv文件的操作

本文详细介绍了使用Python的pandas库进行CSV文件的读取和写入操作,包括读取整个文件、指定列数据,以及如何保存数据并自定义保存格式。通过实例展示了如何设置行索引为日期格式,以及在保存文件时如何控制是否包含列索引和行索引。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 读取csv文件

import pandas as pd
import numpy as np

# 读取整个csv文件
csv_data = pd.read_csv("./stock_day.csv")

# 读取指定列索引字段的数据
csv_data = pd.read_csv("./stock_day.csv", usecols=['open', 'close'])

# 将我们修改完的csv的文件保存到新的路径下
csv_data.to_csv('demo.csv')

观察我们保存的文件的格式(行索引为我们的日期, 列索引为 open close) :

# 查看新保存的文件
new_data = read_csv('./demo.csv')

观察新保存的文件(我们在读取的时候默认给我们添加了新的行索引, 及Unnamed:0): 

使用to_csv的时候, 我们可以给他传入几个参数:

csv_data.to_csv('demo.csv', header=True, index=False)

 

to_csv这个方法中可以传递一些参数:

 DataFrame.to_csv(path_or_buf=None, sep=', ’, columns=None, header=True, index=True, index_label=None, mode='w', encoding=None)

  • path_or_buf :文件保存的路径;
  • sep :默认是以 , 进行分割 , 也可以自己制定;
  • columns : 保存索引列和指定列;
  • index:是否写进行索引 0或者1;
  • header :boolean or list of string, default True,是否写进列索引值 0或者 1;
  • na_rep=NaN: 缺失值保存为Na 如果不写 默认为空;
  • float_format='%.2f' :保留两位小数;

再来回顾一下将我们的行索引装成日期格式的方法:

# 生成一个时间的序列,略过周末非交易日
date = pd.date_range('2018-02-27', periods=new_data.shape[1], freq='B')

# index代表行索引,columns代表列索引
new_data = pd.DataFrame(new_data, index=date)
### 如何使用 Pandas 在 Python 中读取 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]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值