gpt4 book ai didi

Python CSV 只写入特定行

转载 作者:行者123 更新时间:2023-12-01 09:01:44 24 4
gpt4 key购买 nike

我正在尝试读取一个开头有几行无用数据的 CSV 文件,并仅提取包含相关数据的行。我已经尝试了代码的数十种变体,并尝试使用 Pandas 等库来实现它,但没有取得任何成功。 CSV 示例如下所示,前 5 行包含我不需要的数据。我想要写入新文件的唯一行是“SOLUTION”之后的行。

MWU Checker - 09/12/2018
Server v7.4,Admin,Product
RECOMMEND
Update,Issue Statement,Bypass,Resolution
SOLUTION
IP Address,DNS Name,OS,Status
10.0.0.1,win08a,Windows Server 2008 R2,Up to date
10.0.0.2,win08b,Windows Server 2008 R2,Up to date
10.0.0.3,win08c,Windows Server 2008 R2,Out of date
10.0.0.4,win08d,Windows Server 2008 R2,Up to date
10.0.0.5,win08e,Windows Server 2008 R2,Up to date

鉴于“SOLUTION”始终位于第 5 行,我尝试使用以下代码写入 CSV:

import csv
from itertools import islice

def checker():
with open('sample_file.csv', 'r') as csv_in, open('output.csv', 'w', newline='') as csv_out:
data = csv.reader(islice(csv_in, 5, None), delimiter=',')
writer = csv.writer(csv_out)
for row in data:
print (row)
writer.writerow(row)

令人沮丧的是,控制台将打印出正确的数据,仅显示第 6 行或更多行,但作者从未更新“output.csv”文件,它只是写入与原始数据完全相同的数据“sample_file.csv”。

我确信有一个简单的解决方案,但我已经尝试了无数种代码变体,并在 Pandas 中进行了尝试,但发现当您有奇怪格式的 CSV 时,Pandas 的工作效果不太好,例如这些。

最佳答案

仅读出数据行并存储到 pandas 数据框中应该可以使用此方法:

import pandas as pd    

df = pd.read_csv('sample_file.csv', skiprows=5)

随后可以使用以下命令写入新的 csv 文件:

df.to_csv('output.csv', index=False)

关于Python CSV 只写入特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52415167/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com