如何使用python创建包含多个工作表的excel文件来存储文本文件的内容

如何使用python创建包含多个工作表的excel文件来存储文本文件的内容,excel,python-3.x,file,xlsxwriter,Excel,Python 3.x,File,Xlsxwriter,我需要创建一个excel文件,每个工作表都包含我目录中文本文件的内容,例如,如果我有两个文本文件,那么我将有两个工作表,每个工作表都包含文本文件的内容。 我已经设法创建了excel文件,但我只能用目录中最后一个文本文件的内容填充它,然而,EVR,我需要读取所有文本文件并将它们保存到excel中 这是我目前的代码: import os import glob import xlsxwriter file_name='WriteExcel.xlsx' path = 'C:/Users/khoul

我需要创建一个excel文件,每个工作表都包含我目录中文本文件的内容,例如,如果我有两个文本文件,那么我将有两个工作表,每个工作表都包含文本文件的内容。 我已经设法创建了excel文件,但我只能用目录中最后一个文本文件的内容填充它,然而,EVR,我需要读取所有文本文件并将它们保存到excel中

这是我目前的代码:

import os
import glob
import xlsxwriter


file_name='WriteExcel.xlsx'
path = 'C:/Users/khouloud.ayari/Desktop/khouloud/python/Readfiles'

txtCounter = len(glob.glob1(path,"*.txt"))


for filename in glob.glob(os.path.join(path, '*.txt')):
    f = open(filename, 'r')
    content = f.read()
    print (len(content))

    workbook = xlsxwriter.Workbook(file_name) 
    ws = workbook.add_worksheet("sheet" + str(i))
    ws.set_column(0, 1, 30)
    ws.set_column(1, 2, 25)

    parametres = ( 
        ['file', content],
    ) 
    # Start from the first cell. Rows and 
    # columns are zero indexed. 
    row = 0
    col = 0

    # Iterate over the data and write it out row by row. 
    for name, parametres in (parametres): 
        ws.write(row, col, name) 
        ws.write(row, col + 1, parametres) 
        row += 1

    workbook.close()
例如: 如果我有两个文本文件,第一个文件的内容是“hello”,第二个文本文件的内容是“world”,在这种情况下,我需要创建两个工作表,第一个工作表需要存储“hello”,第二个工作表需要存储“world”。
但是我的两张工作表包含“世界”。我建议使用熊猫。它反过来又使用
xlsxwriter
将数据(整个表格)写入excel文件,但通过几行代码,它变得更加简单

import pandas as pd

df_1 = pd.DataFrame({'data': ['Hello']})
sn_1 = 'hello'

df_2 = pd.DataFrame({'data': ['World']})
sn_2 = 'world'

filename_excel = '1.xlsx'

with pd.ExcelWriter(filename_excel) as writer:
    for df, sheet_name in zip([df_1, df_2], [sn_1, sn_2]):
        df.to_excel(writer, index=False, header=False, sheet_name=sheet_name)

谢谢,但我不知道文本文件的长度和内容,事实上,在我的项目中,我需要从excel文件(不是文本文件)中提取数据,并将它们存储在另一个excel中file@A.khouPandas主要处理excel或sql之类的表。因此,您可以使用它来读取和写入excel文件。它比简单的逐行(逐单元)读/写数据更合适、更方便。当然,您可以结合不同的方法。如果您设法以表格形式组织数据,那么您可以轻松地将其转换为pandas dataframe,并更高效、更快地读取/处理/写入。@Poolka,pandas似乎是一个有趣的选择,但我可以设法在for循环中转换
df_1=pd.dataframe({'data':['Hello']})sn u 1='Hello'
,例如:
范围内的i(0,txtCounter):
df[i]=pd.DataFrame({'data':['Hello']})sn[i]='Hello'df和sn的数量需要等于我目录中的文本文件数量