Python读取csv文件(循环删除列表中符合条件的元素)

背景

最近需要把一份csv文件里的数据读出来,然后删除里边的人名所在的整行数据,然后把数据清洗过后的数据在写入到一份新的csv文件中。

思路

  • 使用Python中的csv模块对csv文件进行读取,生成一个list
  • 循环删除list中不符合条件的元素
  • 将最终的list中的数据在写入到一个新的csv文件里,这里依然借助csv模块。

遇到的坑

在循环遍历删除list中不符合条件的元素时,发现最终得到的list中还是有不符合条件的元素存在,后来经过网上查资料得到以下解释。

a = [1,2,3,4,5,6]
for i  in a:
    a.remove(i)
print(a)
# 返回:[2, 4, 6]

想通过循环遍历list a删除a的所有元素,但实际确有数据保留了下来!!&

### 回答1: 对于Python读取CSV文件列表的问题,可以使用Pythoncsv模块中的reader()函数来读取文件,并将内容转换为列表,例如:import csv with open('example.csv', 'r') as csv_file: csv_reader = csv.reader(csv_file) for line in csv_reader: print(line) 这样就可以将CSV文件转换为列表。 ### 回答2: Python读取CSV文件列表的方法有几种,下面我将介绍两种常用的方法。 方法一:使用csv模块 首先,我们需要导入csv模块,然后打开CSV文件并创建一个csv reader对象,最后将每一行数据存入一个列表中。 import csv def read_csv_to_list(file_path): data = [] with open(file_path, 'r', encoding='utf-8') as csvfile: csvreader = csv.reader(csvfile) for row in csvreader: data.append(row) return data # 调用方法进行读取 file_path = 'example.csv' data = read_csv_to_list(file_path) print(data) 方法二:使用pandas模块 首先,我们需要安装pandas模块(如果未安装的话),然后导入pandas库,使用pandas的read_csv函数进行读取。 import pandas as pd def read_csv_to_list(file_path): data = pd.read_csv(file_path, encoding='utf-8').values.tolist() return data # 调用方法进行读取 file_path = 'example.csv' data = read_csv_to_list(file_path) print(data) 以上是两种常用的Python读取CSV文件列表的方法。方法一使用了csv模块,方法二使用了pandas模块。根据需求选择适合的方法进行使用。 ### 回答3: 在Python中,我们可以使用csv模块来读取csv文件并将其转换为列表形式。 首先,我们需要导入csv模块: import csv 然后,我们可以使用open函数打开csv文件,并创建一个csv reader对象: with open('file.csv', 'r') as file: csv_reader = csv.reader(file) 其中,'file.csv'是csv文件的路径。'r'表示以只读方式打开文件。 接下来,我们可以使用for循环遍历csv文件中的每一行,并将其添加到一个空列表中: data = [] for row in csv_reader: data.append(row) 最后,我们可以通过打印data列表来查看读取的结果: print(data) 这样,我们就成功将csv文件读取为一个包含所有行的列表。每一行都作为一个子列表存储在data列表中。 需要注意的是,读取到的每个元素都是字符串类型。如果需要对某些元素进行数值计算或其他操作,可能需要进行相应的类型转换。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值