我正在尝试将文件夹中某些文本文件中的数据打印到excel文件中。 我希望每个文件数据都在每一列中。我只能将所有文件中的数据写到单列中。你能帮我怎么做吗?
import glob, xlsxwriter
workbook = xlsxwriter.Workbook('Example2.xlsx')
worksheet = workbook.add_worksheet()
row = 0
column = 0
fileslist = []
for file in glob.glob("C:/Users/sahithpixels/Documents/SDN/*"):
fileslist.append(file)
a = file.strip('\n')
# print(a)
filedata = []
for line in fileslist:
with open(line, 'r') as inputfile:
f = inputfile.read().rstrip('\n\n')
filedata.append(f)
for line1 in filedata:
x = line1.split('\n\n')
for line2 in x:
worksheet.write_string(row, column, line2)
row += 1
print(filedata)
workbook.close()
答案 0 :(得分:0)
问题在于您首先将所有文件中的数据读取到filedata
数组中。之后,您将无法再判断哪一行来自哪个文件,因此无法递增column
计数器。您必须嵌套两个循环。与此类似:
filedata = []
for line in fileslist:
row = 0
with open(line, 'r') as inputfile:
f = inputfile.read().rstrip('\n\n')
filedata.append(f)
x = f.split('\n\n')
for line2 in x:
worksheet.write_string(row, column, line2)
row += 1
column += 1
print(filedata)