python列表索引超出范围,使用CSV?

2024-06-16 10:52:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个CSV,看起来像这样:

F02303521,"Smith,Andy",GHI,"Smith,Andy",GHI,,,
F04300621,"Parker,Helen",CERT,"Yu,Betty",IOUS,,,

我想删除第二列等于第四列的所有行(例如当Smith,Andy = Smith,Andy)。我尝试在python中使用"作为分隔符并将列拆分为:

F02303521,Smith,Andy,GHI,Smith,Andy,GHI,,,

我尝试了以下python代码:

^{pr2}$

但对于这条线:

PI = line.split('"')[1] 

我得到:

Traceback (most recent call last): File "C:/Users/sskadamb/PycharmProjects/vastDeleteLine/manipulation.py", line 11, in PI = line.split('"')[1] IndexError: list index out of range

我以为它能PI = Smith,Andyinvestigator = Smith,Andy。。。为什么没有呢?在

任何帮助都将不胜感激,谢谢!在


Tags: csvcertlinepisplithelensmithandy
2条回答

当你想到csv时,想想pandas,这是一个很棒的Python数据分析库。以下是如何完成您想要的:

import pandas as pd

fields = ['field{}'.format(i) for i in range(8)]
df = pd.read_csv("data.csv", header=None, names=fields)
df = df[df['field1'] != df['field3']]
print df

打印:

^{pr2}$

试着用逗号拆分,而不是qoute。在

x.拆分(“,”)

相关问题 更多 >