python - 避免使用 pandas 进行 csv 编辑
问题描述
我正在使用 pandas 来加载、修改和保存 csv 文件。实际上 pandas 及其数据框功能对我来说只是一种解决方法,因为我不需要这个。我只需要它,因为我必须修改我的 csv 文件。
我需要删除某些行(行)。我目前的代码如下:
import pandas as pd
test=pd.read_csv('myfile.csv', sep=';', skiprows=[0,1,3,4,6])
test.to_csv('myoutputfile.csv', index=False, sep=';')
我想直接操作 csv 文件。我知道,例如import csv
,next(reader)
我可以跳过第一行。但是,我需要跳过这些特定的行:skiprows=[0,1,3,4,6]
而且我不知道该怎么做。那么有没有办法在不使用 pandas 的情况下修改 csv 文件并保存更改?
解决方案
通常,如果您有要跳过的行列表,则可以使用以下内容:
import csv
skiprows = (0,1,3,4,6)
with open('myfile.csv') as fp_in:
reader = csv.reader(fp_in, delimiter=';')
rows = [row for i, row in enumerate(reader) if i not in skiprows]
with open('myoutputfile.csv', 'w', newline='') as fp_out:
writer = csv.writer(fp_out)
writer.writerows(rows)
推荐阅读
- arrays - React Custom Roulette 如何显示轮盘号码
- python - Python:为什么我们在函数中使用布尔值在我们的主程序中返回打印语句?
- node.js - Express Web API https 服务器在第一次请求时崩溃
- awk - 从使用 sed 获得的部分获取上面的 N 行
- python - 从异常中提取属性?
- pine-script - 创建看涨吞没蜡烛脚本
- python - 关于python 3中格式化的问题
- javascript - 反应状态是未定义的,即使 console.log 显示它
- node.js - 多租户架构实现与部署
- java - 保存成功但更新失败 - 多对多 Spring JPA 与额外列使用 Jointable