我有五个.csv,它们具有按相同顺序处理的相同字段,需要这样处理:
PT333
的数字column1
是否在data1
中:column1 column2 column3
PT389 LA image.jpg
PT372 NY image2.jpg
output1
我尝试执行此操作,但是我不知道如何使其循环并为每个文件执行相同的操作。目前,它返回数字,但是我也希望它返回数据帧名称,并且我还希望它循环遍历所有文件(a到e)以检查numbers
列表中的所有值。] >
这是我所拥有的:
import os import glob import pandas as pd from glob import glob from os.path import expanduser home = expanduser("~") os.chdir(home + f'/files/') data = glob.glob('data*.csv') data # If you have tips on how to loop through these rather than # have a line for each one, open to feedback a = pd.read_csv(data[0], encoding='ISO-8859-1', error_bad_lines=False) b = pd.read_csv(data[1], encoding='ISO-8859-1', error_bad_lines=False) c = pd.read_csv(data[2], encoding='ISO-8859-1', error_bad_lines=False) d = pd.read_csv(data[3], encoding='ISO-8859-1', error_bad_lines=False) e = pd.read_csv(data[4], encoding='ISO-8859-1', error_bad_lines=False) filenames = [a,b,c,d,e] filelist= ['a','b','c','d','e'] # I am aware that this part is repetitive. Unsure how to fix this, # I keep getting errors # Any help appreciated numbers = ['PT333', 'PT121', 'PT111', 'PT211', 'PT222'] def type(): for i in a.column1: if i == numbers[0]: print(numbers[0]) elif i == numbers[1]: print(numbers[1]) elif i == numbers[2]: print(numbers[2]) elif i == numbers[3]: print(numbers[3]) elif i == numbers[4]: print(numbers[4]) type()
[也很乐意就如何减少重复的代码并使事情变得更顺畅进行建设性的批评。 TIA
我有五个.csv,它们具有需要按相同顺序处理的相同字段:获取文件列表将每个文件放入数据帧中检查是否有字母数字组合的列...
我建议更改类型函数,并稍有不同地调用它
[也乐于接受关于如何减少重复的建设性批评代码并使事情变得更顺畅。
尝试一下