在python中修改csv文件的一列数据
时间: 2024-05-04 21:19:15 浏览: 138
python3使用pandas1.5.3给csv文件添加一列数据
要修改 CSV 文件的一列数据,可以使用 Python 中的 `csv` 模块和 `pandas` 库。
使用 `csv` 模块:
```python
import csv
filename = "data.csv"
column_to_update = 2 # 指定要更新的列,假设是第 2 列
new_value = "new value" # 指定要更新成的新值
with open(filename, "r") as csvfile:
reader = csv.reader(csvfile)
rows = list(reader)
for row in rows:
row[column_to_update - 1] = new_value
with open(filename, "w", newline="") as csvfile:
writer = csv.writer(csvfile)
writer.writerows(rows)
```
这里假设要更新的是第 2 列,即 `column_to_update = 2`,因为 Python 中的列表是从 0 开始索引的,所以需要减去 1。然后遍历 CSV 文件的每一行,将第 2 列的值更新为新值 `new_value`,最后将更新后的所有行写回到 CSV 文件中。
使用 `pandas` 库:
```python
import pandas as pd
filename = "data.csv"
column_to_update = "column2" # 指定要更新的列,假设是叫做 column2 的列
new_value = "new value" # 指定要更新成的新值
df = pd.read_csv(filename)
df[column_to_update] = new_value
df.to_csv(filename, index=False)
```
这里使用 `pandas` 库中的 `read_csv` 函数读取 CSV 文件,然后将指定列的值更新为新值 `new_value`,最后使用 `to_csv` 函数将更新后的数据写回到原始的 CSV 文件中。这里 `index=False` 表示不输出行索引。
阅读全文