一、先搞懂:CSV 是啥?

CSV 是 “逗号分隔值” 文件,本质是纯文本的表格,每行是一条数据,列之间用逗号分开(比如 Excel 能直接打开的表格文件)。

二、实操步骤:读取 CSV 文件

1. 准备工作

  • 确保要处理的 CSV 文件(比如我的pa.csv)和 Python 代码在同一个文件夹里(避免路径问题);
  • Python 自带csv模块,不用额外安装,直接导入就行。

2. 读取代码(带注释)

python

运行

# 1. 导入Python自带的csv处理模块
import csv

# 2. 打开pa.csv文件(r=只读模式),用with语句会自动关闭文件,不用手动关
with open('pa.csv', 'r') as f:
    # 3. 用csv.reader读取文件内容,转成列表存到data里
    data = list(csv.reader(f))

3. 踩过的小坑

一开始我写了with open('', 'r') as f:,结果报SyntaxError——这里的''必须填要读取的文件名(比如我的pa.csv),空字符串会让 Python 找不到文件!

三、查看读取到的数据

读取后的数据存在data里,我们可以看看它的类型、内容:

python

运行

# 查看data的类型(结果是列表)
type(data)
# 输出:<class 'list'>

# 遍历打印每一行数据
for i in data:
    print(i)

输出结果(对应我的股票数据):

plaintext

['Symbol', 'Price', 'Date', 'Time', 'Change', 'Volume']  # 第一行是表头
['AA', '39.48', '6/11/2007', '9:36am', '-0.18', '181800']  # 第一条数据
['AIG', '71.38', '6/11/2007', '9:36am', '-0.15', '195500']
...(后面是其他行数据)

解释:data是一个列表套列表的结构 —— 外层列表代表整个 CSV 文件,内层每个小列表代表 CSV 的一行数据。

四、把数据写入新的 CSV 文件

读取完数据后,我想把它存到新文件test_w.csv里,代码如下:

python

运行

# 打开新文件test_w.csv(w=写入模式,若文件不存在会自动创建)
with open('test_w.csv', 'w') as f:
    # 用csv.writer的writerows方法,把整个data列表写入文件
    csv.writer(f).writerows(data)

五、新手注意事项

  1. 文件路径:如果 CSV 文件不在代码同一文件夹,要写 “绝对路径”(比如C:/Users/xxx/pa.csv);
  2. 数据类型csv.reader读出来的内容都是字符串类型,如果要做数值计算(比如 Price 列求和),需要手动转成 float/int;
  3. 写入模式w模式会覆盖已有文件,若想追加内容,把模式改成a(追加模式)。
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐