gpt4 book ai didi

python - 如果值不在使用 python 的数据中,则跳过文件

转载 作者:行者123 更新时间:2023-12-05 04:24:52 26 4
gpt4 key购买 nike

使用我当前的代码,如果 csv 文件不包含我要查找的实际数据中的值,我会尝试跳过该文件。

基本上,如果它有“PROD_NAME”作为一列,那么它会查找该字符串并将其替换为该语句中的第二个字符串,但我的文件夹中的第一个文件没有此列名称,因此脚本失败。我研究了跳过的方法,但只看到了根据文件名本身而不是文件中没有正确信息的数据来跳过的方法。任何帮助,将不胜感激。谢谢!

def worker(files):
filenames = glob.glob(dest_dir + '\\*.csv')
for filename in filenames:

my_file = Path(os.path.join(dest_dir, filename))

#read header
with open(filename) as f:
read_data = f.read()
header = read_data[:read_data.find('!1')]
idx = header.find('\n')


# read data
df1 = pd.read_csv(filename, skiprows=1, encoding='ISO-8859-1', nrows=1) # read column header only - to get the list of columns
dtypes = {}
for col in df1.columns:# make all columns text, to avoid formatting errors
dtypes[col] = 'str'
df1 = pd.read_csv(filename, dtype=dtypes, skiprows=1, encoding='ISO-8859-1', quotechar="'", delimiter='\t')


df1.loc[df1['PROD_NAME'].str.contains('NA_NRF'), 'PROD_NAME'] = 'FA_GUAR'
file_count += 1 # count the fil

worker(files)

最佳答案

你能不能在转换之前添加一个 if 语句

if 'PROD_NAME' in df1.columns:            
df1.loc[df1['PROD_NAME'].str.contains('NA_NRF'), 'PROD_NAME'] = 'FA_GUAR'

file_count += 1 # count the fil

关于python - 如果值不在使用 python 的数据中,则跳过文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73405311/

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