Pythonを使用して次の配列をExcelスプレッドシートに書き込もうとしています。
array = [ [a1,a2,a3], [a4,a5,a6], [a7,a8,a9], [a10, a11, a12, a13, a14]]
スプレッドシートの配列は次のようになります。
a1 a4 a7 a10
a2 a5 a8 a11
a3 a6 a9 a12
a13
a14
誰かがいくつかのPythonコードを表示することができますか?よろしくお願いします。
フェリックス
XlsxWriter モジュールを使用してこれを行う1つの方法を次に示します。
import xlsxwriter
workbook = xlsxwriter.Workbook('arrays.xlsx')
worksheet = workbook.add_worksheet()
array = [['a1', 'a2', 'a3'],
['a4', 'a5', 'a6'],
['a7', 'a8', 'a9'],
['a10', 'a11', 'a12', 'a13', 'a14']]
row = 0
for col, data in enumerate(array):
worksheet.write_column(row, col, data)
workbook.close()
出力:
pandasデータフレームを使用!
import pandas as pd
array = [['a1', 'a2', 'a3'],
['a4', 'a5', 'a6'],
['a7', 'a8', 'a9'],
['a10', 'a11', 'a12', 'a13', 'a14']]
df = pd.DataFrame(array).T
df.to_Excel(excel_writer = "C:/Users/Jing Li/Desktop/test.xlsx")
Excel_writerは、strまたは既存のExcelWriterオブジェクトのファイルパスです。
Pythonを使用してExcelスプレッドシートに書き込む場合に見た最も一般的な方法は、Pythonにネイティブではないライブラリ OpenPyXL を使用することです。もう1つは、 XlsxWriter が時々使用されると聞きましたが、これもネイティブではありません。どちらのサイトにも、ライブラリの最適な使用方法に関する優れたドキュメントがありますが、以下に、私が説明するために作成した簡単なコードがあります- OpenPyXL :
from openpyxl import workbook
from openpyxl.cell import get_column_letter
workbook = Workbook() # the master workbook
output_file_name = "outfile.xlsx" # what "workbook" will be saved as
worksheet = workbook.active() # all workbooks have one worksheet already selected as the default
worksheet.title = "foo"
worksheet['A3'] = "=SUM(A1, A2)" # set up basic formula
wb.save(output_file_name)
EDIT:たとえば、リクエストは次のように記述できます。
## imports and stuff ##
array = [ [a1,a2,a3], [a4,a5,a6], [a7,a8,a9], [a10, a11, a12, a13, a14]]
workbook = Workbook()
worksheet = workbook.active()
numrows = len(array)
letter = 'A'
for r in range(0, numrows):
if r == 0: letter = 'A'
if r == 1: letter = 'B'
if r == 2: letter = 'C'
...
numcols = len(array[r])
for c in range(0, numcols):
worksheet[letter.join(c)] = array[r][c]
正直言ってこれはうまくいかないかもしれませんが、私はテストするには疲れすぎています。でも、あなたはその考えを理解していると思います。