python 在 open office 中自动填写导入文本

python to auto fill in import text in open office

(Apache Open Office 中的字符集、分隔符选项和字段)

我的原始文件是一个csv文件。我想使用 python 代码 更改字符集、分隔符选项和字段 并将其保存到 excel 文件中。是否可以自动填写这些选项?或者我可以使用什么语言来自动执行此操作? (我不能在 excel 中执行此操作,因为 excel 会删除我的一些特殊字符。)

您可以使用 xlsxwriter 模块制作 XLSX 文件:https://xlsxwriter.readthedocs.io/index.html

假设您有一个编码为 CP1251 的 CSV 文件,并且您想要获得编码为 UTF8 的 XLSX 文件。这是如何完成的:

import xlsxwriter # pip3 install xlsxwriter

# get data from the csv file with non utf8 encoding
with open('data_cp1251.csv', 'r', encoding='cp1251') as f:
    data = f.read()

# convert the data into 2d array
table = [row.split(",") for row in data.split("\n")]

# create xlsx file (utf8 encoding by default)
ss = xlsxwriter.Workbook('data.xlsx')
s = ss.add_worksheet()

# fill the xlsx file with the 2d array
for row_num, row in enumerate(table):
    for col_num, cell in enumerate(row):
        s.write(row_num, col_num, cell)

ss.close() # here you get the 'data.xlsx' file

对于简单的情况,即使源 CSV 文件有制表符 \t 分隔符,它也能正常工作。但是需要在你的真实数据上进行测试。

据我所知,新 xlsx 文件中的所有字段默认为 'text fields'。您可以随时更改它们的格式,请参阅此处:https://xlsxwriter.readthedocs.io/format.html#format