在python中的多个对象上重复相同的方法

2024-09-29 19:25:31 发布

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

这是非常基本的,但我有困难找到一个答案,通过谷歌。我有一个循环,将大量文本文件导入到数据帧中。你知道吗

我已经把名字写在一张单子上了。你知道吗

onlyfiles = [ f for f in listdir(mypath) if isfile(join(mypath,f)) and join(mypath,f).endswith('.txt') ]

dataframelist = []

for filenum in range(1,len(onlyfiles)):
 path = 'path/%s' % onlyfiles[filenum]
 print path
 name = onlyfiles[filenum][:-4]
 dsname = name
 print name
 name = pd.read_csv(path, sep = '\t')
 print '%s has been imported' % dsname
 dataframelist.append(dsname)

我现在想在每个对象上运行to\u sql()方法,但似乎找不到正确的语法。据我所知,这些对象已经实例化了,但是解释器认为我在尝试操作字符串对象。你知道吗

然后我把熊猫的物品列出来

#if a dataframe exists and has a '-customer' at the end then import

custlist = []

for item in list(dataframelist):
  if item.endswith('-customer'):
        custlist.append(item)

试着用这个方法循环

for dsname in range(1,5):
    ds_to_sql = custlist[dsname]
    print ds_to_sql
    (ds_to_sql.to_sql('%s', engine)) % ds_to_sql 

我相信这是非常基本的,我感谢您的帮助。你知道吗


Tags: topath对象nameinforsqlif
1条回答
网友
1楼 · 发布于 2024-09-29 19:25:31

问题似乎在这里:

 name = onlyfiles[filenum][:-4] #name = 'example.txt'
 dsname = name #dsname = name = 'example.txt'
 print name
 name = pd.read_csv(path, sep = '\t') #name = DataFrame
 print '%s has been imported' % dsname
 dataframelist.append(dsname) #'example.txt' is appended

我在每个阶段都添加了评论。当你加载你的数据帧-你永远不会保存它们!你只把他们的名字留在名单上。你知道吗

相关问题 更多 >

    热门问题