有誰知道如何解決OpenOffice Calc無法處理單元格中的新行的問題的方法正確嗎?openoffice calc - 換行在單元格中導致重複值(pandas/openpyxl)
我有一個python腳本,它是通過熊貓使用openpyxl動態生成一個excel工作簿。
腳本工作正常,但是當我在OpenOffice中查看包含換行符的單元格時,所有值都被重複多次。如果我使用Microsoft Excel Viewer打開相同的文件,那麼所有內容都將正確顯示,如果我使用除新行之外的其他字符(例如逗號,#等),則它們都會顯示正常。
我有一個解決方法,進入Excel並使用宏替換隨機字符,但想要避免,如果可能的話,因爲過程真的需要完全自動化。也因爲該文件將由另一個內部工具處理,我確實需要這些單元格用新行處理,我無法更改該字符。
我也嘗試過使用chr(10)和/或chr(13),但是在前一種情況下,它只是按照預期在'\ n'的輸出中被替換。
我目前使用的代碼類似於:
test_list = []
for x in range(1,18):
test_list.append([
"value1",
"\n".join(['element1', 'element2', 'element3']),
"value3"
])
data_df = pd.DataFrame(test_list)
fn = r'/path/to/excel/file.xlsx'
writer = pd.ExcelWriter(fn, engine='xlsxwriter')
data_df.to_excel(writer, sheet_name='Data', index=False, header=0)
workbook = writer.book
worksheet = writer.sheets['Data']
worksheet.set_column('A:ZZ',50,
workbook.add_format({'text_wrap': True}))
writer.save()
與元數據會發生什麼事是,它顯示了OpenOffice的Calc的細胞,就像這樣:
奇怪的最後一個項目似乎是正確的
相同的數據查看列表或通過DataFrame.head()顯示正常:
pprint(test_list)
[['value1', 'element1\nelement2\nelement3', 'value3'],
['value1', 'element1\nelement2\nelement3', 'value3'],
['value1', 'element1\nelement2\nelement3', 'value3'],
['value1', 'element1\nelement2\nelement3', 'value3'],
['value1', 'element1\nelement2\nelement3', 'value3'],
['value1', 'element1\nelement2\nelement3', 'value3'],
...
['value1', 'element1\nelement2\nelement3', 'value3']]
data_df.head(18):
0 1 2
0 value1 element1\nelement2\nelement3 value3
1 value1 element1\nelement2\nelement3 value3
2 value1 element1\nelement2\nelement3 value3
...
15 value1 element1\nelement2\nelement3 value3
16 value1 element1\nelement2\nelement3 value3
它只是當它傳遞到openpyxl庫並在OpenOffice中查看。
感謝
什麼是您的操作系統和Office版本? –
WIndows 10,只是Excel Viewer,但說Excel在Excel中工作正常,只是不是OpenOffice(4.1.2) – GuHuka