我必須根據列資料決議一個 excelsheet。例如,我在“第 2 列”中有 4 個逗號分隔值,我想列印 4 行,每行包含第 2 列中的 1 個值。

我得到這樣的輸出。
1,2,abc,def,ghi,jkl,11,10,10
3,4,abc,def,ghi,jkl,12,12,11
預期的輸出將是這樣的。
1,2,abc,11,10,10
1,2,def,11,10,10
1,2,ghi,11,10,10
1,2,jkl,11,10,10
3,4,abc,12,12,11
3,4,def,12,12,11
3,4,ghi,12,12,11
3,4,jkl,12,12,11
我可以讀取整個資料,但不能得到這樣的輸出。請指導我如何實作這一目標。
uj5u.com熱心網友回復:
假設您在閱讀完 excel 檔案后有這樣的串列:
file_content = [
['1,2', 'abc,def,ghi,jkl', 11, 10, 10],
['3,4', 'abc,def,ghi,jkl', 12, 12, 11]
]
實作目標的一種方法是迭代第 2 列的每個值,并用逗號分割并“重建”一整行。有類似的東西:
output = list()
for row in file_content:
for elt in row[1].split(','):
# handle values of column 1 which are also coma separated
tmp = [int(x) for x in row[0].split(',')
# append one value of column 2
tmp.append(elt)
# merge with the end of the row
tmp = row[2:]
output.append(tmp)
編輯:
要閱讀您的 excel 檔案,您應該使用pandas 庫并將上面的代碼修改如下:
import pandas
df = pandas.read_excel('yourfile.xlsx', header=None)
output = list()
for idx, row in df.iterrows():
for elt in row[1].split(','):
tmp = [int(x) for x in row[0].split(',')]
tmp.append('elt')
tmp = list(row[2:])
output.append(tmp)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/479373.html
