【发布时间】:2014-04-14 19:20:22
【问题描述】:
我无法在此处找到有关此主题的任何信息,非常感谢您的帮助!我对 python 很陌生,但这就是我所拥有的。
我在一个文件夹中有多个文件,我想读取它们,转置它们,然后将它们重写到一个新文件夹中。我想我已经完成了所有工作,但不知道如何重写所有内容。
这是我的代码:
path = 'C:\Users\Christopher\Documents\Clemson\Pleurodires\stability data\Es03\fixed\processed'
filenames = glob.glob(path + "/*.csv")
for filename in filenames:
dfs = (pd.read_csv(filename))
df = dfs.transpose()
df.to_csv('transposed\' + 'Tr_' + filename)
最后一行(我希望)应该将所有新文件放在名为“transposed”的文件夹中,在最初加载的名称前添加一个 Tr_(即,如果文件名是“hello”,那么现在应该是'Tr_hello' 转置文件夹内)。
当我运行上面的代码时发生了什么,它说它可以工作,但是这些文件在我的计算机中的任何地方都不存在。我尝试了各种不同的方法来让 df.to_csv 工作,这是我得到的最接近的方法
编辑
感谢大家的帮助,我最终结合了 Nanashi 和 EdChun 的代码来得到这个,它有效:(最终文件在正确的文件夹中,称为 Tr_filename)
path = r'C:\Users\Christopher\Documents\Clemson\Pleurodires\stability data\Es03\fixed\processed'
filenames = glob.glob(path + "/*.csv")
for filename in filenames:
short = os.path.split(filename)
newfilename = 'Tr_%s' % short[-1]
#print newfilename
dfs = (pd.read_csv(filename))
df = dfs.transpose()
df.to_csv(os.path.join('transposed', newfilename))
【问题讨论】:
-
有什么问题?你有错误吗?还是文件写入了错误的位置?还是根本不写?
-
嗨 Cyber,感谢您的帮助,我没有收到错误消息,但文件根本没有写入(至少我在计算机上的任何地方都找不到它们)。跨度>
-
您是否尝试过将您的
to_csv呼叫更改为df.to_csv(path + '\transposed\' + 'Tr_' + filename)之类的名称 -
我看不出该代码将如何运行。 to_csv 行不是 SyntaxError 吗?
-
@c_mayerl 请打印文件名的输出,我会在您调用
to_csv之前构建您的目标路径和文件并打印它以确认它看起来正确
标签: python csv pandas transpose