如何获取当前语言环境的csv分隔符?

时间:2017-09-25 19:49:53

标签: python csv locale delimiter

我的脚本可以在具有英语或俄语语言环境的PC上运行。 该脚本将一些数据写入csv文件:

with open(FILE_NAME, 'w', newline='') as csvfile:
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames, delimiter=CSV_DELIMITER)
    writer.writeheader()

问题是英语语言环境中的分隔符是逗号(,),在俄语语言环境中,它是分号(;)。 现在我和#39;通过分析区域设置(' en' ru')并将特定于当前区域设置的分隔符发送到将数据写入csv文件的代码来解决它:

def get_csv_delimiter():
    default_locale = locale.getdefaultlocale()
    language_code = default_locale[0][0:2]
    if language_code in ['en']:
        delimiter = ','
    elif language_code in ['ru']:
        delimiter = ';'
    return delimiter

但是,如果我需要添加其他语言环境,我会向{locale: locale_delimeter}添加新的get_csv_delimiter字段或data-uploadValue="some-value"功能。 有没有更简单的方法来获取当前区域设置的分隔符?

0 个答案:

没有答案