微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

读取多行csv文件并删除这些行

如何解决读取多行csv文件并删除这些行

我给了一个任务来读取特定的 n 行数据(CSV 文件)并删除它们。假设给定用户的时间戳、年龄、性别(CSV 格式),我想读取 10 行以避免过载。但我不知道该怎么做。你能告诉我如何有效地解决这个问题吗?谢谢

解决方法

import csv
import pandas as pd

# reads your file in chunks (lines of 10)
chunk_iterator = pd.read_csv('sample.csv',chunksize=10)

# rewrite over file to 'delete' the unwanted lines
with open('sample.csv','w') as outf:
    writer = csv.writer(outf)
    for line in chunk_iterator:
        # if condition satisfied,write to new file
        if (<insert condition>):
            writer.writerow(line)

以上使用 pandas 有效地​​以块的形式读取 csv 文件。然后它会重写同一个文件,从而“删除”不符合您设置的特定条件的行。 (你没有说明这个条件是什么,所以不包括在内)。

如果您想保留原始文件并将输出写入不同的文件,请在 outfile 行中更改文件名,例如:with open('updated_sample.csv','w') as outf:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。