如何用Python的Pandas向CSV指定单元格(如B2)写入内容?
给CSV指定单元格写入内容的实现方法
CSV本质是纯文本格式,没有像Excel那样原生的“单元格”概念,是按行-列结构存储的。所谓的B2单元格,对应第2行(索引从0开始为1)的第2列(索引从0开始为1),可以用Pandas或Python内置模块实现写入操作。
用Pandas实现
Pandas处理结构化数据更便捷,适合有表头或复杂格式的CSV:
import pandas as pd # 读取CSV文件 # 如果CSV无表头,添加header=None参数:df = pd.read_csv('your_file.csv', header=None) df = pd.read_csv('your_file.csv') # 方式1:通过列名+行索引定位(适合知道列名的情况) # 假设B列的表头是"Column B",B2对应第2行(索引1) df.loc[1, 'Column B'] = '目标内容' # 方式2:通过位置索引定位(通用方式) # iloc[行索引, 列索引],B2对应行1、列1 df.iloc[1, 1] = '目标内容' # 保存修改,index=False避免生成额外索引列 df.to_csv('your_file.csv', index=False)
用Python内置csv模块实现
无需额外安装依赖,适合轻量化场景:
import csv # 读取所有行到列表 rows = [] with open('your_file.csv', 'r', newline='', encoding='utf-8') as f: reader = csv.reader(f) rows = list(reader) # 定位并修改B2(行索引1,列索引1) # 先检查行/列是否存在,不存在则补全空内容 if len(rows) <= 1: # 不足2行则补空行 while len(rows) <= 1: rows.append([]) if len(rows[1]) <= 1: # 第2行不足2列则补空元素 while len(rows[1]) <= 1: rows[1].append('') rows[1][1] = '目标内容' # 写回CSV文件 with open('your_file.csv', 'w', newline='', encoding='utf-8') as f: writer = csv.writer(f) writer.writerows(rows)
内容的提问来源于stack exchange,提问作者harry_quan418
相关产品推荐
相关产品推荐

