使用Python Loop从Excel文件创建多个.txt文件

时间:2019-01-26 07:05:57

标签: python excel pandas loops iteration

我的工作正在从SAS转换为Python的过程中,我正在努力抢先一步。我正在尝试编写单独的.txt文件,每个文件代表一个Excel文件列的所有值。

我已经能够上载Excel工作表并创建一个.txt文件,但是对于实际使用,我需要找到一种创建循环的方法,该循环将遍历所有列并将其放入自己的.txt文件中,并将文件命名为“ ColumnName.txt”。

上传Excel工作表:

将熊猫作为pd导入

wb = pd.read_excel('placements.xls')

创建单个.txt文件:(为便于参考,将每列命名为A-Z)

以open(“ A.txt”,“ w”)作为f:

for item in wb['A']:
    f.write("%s\n" % item)

在for循环下尝试我的手(无济于事):

导入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编程时,很难把头缠住。

再次感谢!

1 个答案:

答案 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)