我的工作正在从SAS转换为Python的过程中,我正在努力抢先一步。我正在尝试编写单独的.txt文件,每个文件代表一个Excel文件列的所有值。
我已经能够上载Excel工作表并创建一个.txt文件,但是对于实际使用,我需要找到一种创建循环的方法,该循环将遍历所有列并将其放入自己的.txt文件中,并将文件命名为“ ColumnName.txt”。
将熊猫作为pd导入
wb = pd.read_excel('placements.xls')
以open(“ A.txt”,“ w”)作为f:
for item in wb['A']:
f.write("%s\n" % item)
导入glob
对于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编程时,很难把头缠住。
再次感谢!
答案 0 :(得分:0)
我建议to_csv
使用熊猫写文件,只将扩展名更改为.txt
:
# Uploading Excel Sheet:
import pandas as pd
df = pd.read_excel('placements.xls')
# Creating single .txt file: (Named each column A-Z for easy reference)
for col in df.columns:
print (col)
#python 3.6+
df[col].to_csv(f"{col}.txt", index=False, header=None)
#python bellow
#df[col].to_csv("{}.txt".format(col), index=False, header=None)