有谁知道如何解决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