python - 使用 Python 从 Linux 中的不同文件创建 Excel 工作表

标签 python python-3.x

Linux服务器中有2个txt文件。 第一个数据文件:

      a;1234
      b;12334
      c;234234

第二个数据文件:

       a ; ass ; asfda
       b ; sdfq;  qwrwffsaa
       c ; asda ; qdasasd

我尝试使用 python 创建一个有 2 张表的 Excel 文件。 第一张表保留第一个数据文件,第二张表应保留第二个数据文件。

到目前为止我开发的是:

#!/bin/python

import xlsxwriter
import smtplib
import datetime



now = datetime.datetime.now()
workbookname = 'Excel_'+now.strftime("%Y-%m-%d_%H:%M")+'.xlsx'
workbook = xlsxwriter.Workbook(workbookname)
worksheet = workbook.add_worksheet('Sheet1')
worksheet.write('A1', 'Hostname')
worksheet.write('B1', 'User Name')

worksheet2 = workbook.add_worksheet('User Privilege')
worksheet2.write('A1', 'Hostname')
worksheet2.write('B1', 'User Detail')
worksheet2.write('C1', 'Description')


with open('/tmp/file1.txt') as f:
    content = f.read().splitlines()

i = 0
while i < len(content):
    content2 = content[i].split(';')
    worksheet.write('A'+str(i+2), content2[0])
    worksheet.write('B'+str(i+2), content2[1])
workbook.close()

i = 0
while i < len(content):
with open('/tmp/file2.txt') as f:
content = f.read().splitlines()

    worksheet2.write('A' + str(i + 2), content2[0])
    worksheet2.write('B' + str(i + 2), content2[1])
    worksheet2.write('C' + str(i + 2), content2[2])
    i=i+1

workbook.close()

此脚本仅适用于第一个工作表,它不能写入第二个工作表。

最佳答案

使用pandas,这可以在几行内完成

import pandas

df1 = pandas.read_csv('file1.csv', sep = ';', header = None)
df2 = pandas.read_csv('file2.csv', sep = ';', header = None)

writer = pandas.ExcelWriter('output.xlsx')
df1.to_excel(writer, 'sheet 1')
df2.to_excel(writer, 'sheet 2')
writer.save()

关于python - 使用 Python 从 Linux 中的不同文件创建 Excel 工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53802104/

相关文章:

python循环移位字符串中的字符

python - 从 netCDF 中提取位置和跨时间范围的值

python - 将输出存储到变量并稍后打印输出

python - 将字典列表中的两个列表合并为一个

java - Python 可以识别 Java 中使用 BCrypt 的哈希密码吗?

python - 在两组同步列表中查找匹配项

python - 在 python 3 中使用全局变量

python - 你如何解包不同长度的嵌套列表?

python - 通过类内的 For 循环使用 linspace 进行迭代

python - 如何在 Windows 10 中安装适用于 Python 3.6 的 openbabel?