使用xlsxwriter ByteIO对象写入CSV文件


v-star*위위
2025-03-14 09:35:35 (4天前)


我正在使用xlsxwriter ByteIO对象创建一个.xlsx文件,使用相同的对象我想创建.CSV文件。可能吗?

这是我的代码:

outputStr = BytesIO()
workbook = xlsxwriter.Workbook(…

2 条回复
  1. 0# | 2019-08-31 10-32



    你可以使用内置的


    csv


    要在您的XLSX文件旁边写入CSV的模块,您只需要以不同的方式创建它:




    1. import csv
      import io
      import xslxwriter

    2. xlsx_data = io.BytesIO()
      csv_data = io.StringIO() # on Python 2.x use io.BytesIO()

    3. XLSX part

      workbook = xlsxwriter.Workbook(xlsx_data, {‘in_memory’: True})
      worksheet = workbook.add_worksheet()

    4. CSV part

      csv_writer = csv.writer(csv_data)

    5. Some data we want to write to the worksheet.

      expenses=([‘OriginalURL’, NormalizedURL’, Response’, DuplicateOf’,
      SourceId’, RelatedSources’],)

    6. for row, data in enumerate(expenses):

    7. # XSLX part
    8. worksheet.write_row(row, 0, data)  # if needed, add an offset to the row/column
    9. # CSV part
    10. csv_writer.writerow(row)
    11. workbook.close()

    12. CSV data available in csv_data, XLSX data available in xlsx_data

      </code>


    从你的问题不清楚你是否想要同时创建它们 - 如果不是,只需删除XLSX部分(你可以做

    csv_writer.writerows(expenses)

    直接,不迭代各行)。


登录 后才能参与评论