【发布时间】:2019-06-19 22:38:51
【问题描述】:
我的工作正处于从 SAS 切换到 Python 的过程中,我正努力在这方面取得领先。我正在尝试编写单独的 .txt 文件,每个文件代表 Excel 文件列的所有值。
我已经能够上传我的 Excel 工作表并很好地创建一个 .txt 文件,但为了实际使用,我需要找到一种方法来创建一个循环,该循环将通过并将每一列变成它自己的 .txt 文件,并将文件命名为“ColumnName.txt”。
上传 Excel 表格:
将熊猫导入为 pd
wb = pd.read_excel('placements.xls')
创建单个 .txt 文件:(将每一列命名为 A-Z 以便于参考)
with open("A.txt", "w") as f:
for item in wb['A']:
f.write("%s\n" % item)
在 for 循环中尝试我的手(无济于事):
导入全局
对于 glob.glob("*.txt") 中的文件:
f = open(( file.rsplit( ".", 1 )[ 0 ] ) + ".txt", "w")
f.write("%s\n" % item)
f.close()
第一部分就像一个魅力,给了我一个包含所有相关数据的 .txt 文件。
当我使用 glob 命令尝试进行一些迭代时,它不会出错,但只会给我一个输出文件 (A.txt),而 A.txt 中唯一的数据点是字母 A。我'我确定我的输入已经偏离了......在永远寻找之后,我发现这是有道理并运行的,但我认为我不理解输入到命令中的输入,或者如果我正在运行的是完全不准确。
任何人都将给予任何帮助将不胜感激!我确信这是一个简单的循环,当您对 python 编程如此陌生时,很难理解。
再次感谢!
【问题讨论】:
-
我们没有足够的信息。如果它运行一次,则意味着在运行 python 文件时在 pwd 中只找到了 1 个 txt 文件。您能否确认 glob 返回一个迭代器、列表或任何其他可迭代对象,并且其中有多个值?
标签: python excel pandas loops iteration