Python 如何在Windows上获取系统范围的列表分隔符

Python 如何在Windows上获取系统范围的列表分隔符,python,csv,pandas,pywin32,Python,Csv,Pandas,Pywin32,我使用pandas将csv转换为更有用的数据类型。 问题是csv文件不需要用逗号分隔。分隔符(单元格之间)由操作系统定义(至少在Windows下),当系统范围的列表分隔符与逗号不同时,pandas(或我尝试过的任何其他内容)无法确定应使用哪个分隔符。 当然,我可以用pywin或其他东西创建一个twocell csv文件,并获取分隔符,但是没有直接的方法吗? 下面您可以看到两个csv文件的txt表示,它们在Windows计算机上以相同的方式显示,其中,“;”和“;”分别是默认的列表分隔符 测试

我使用pandas将csv转换为更有用的数据类型。
问题是csv文件不需要用逗号分隔。分隔符(单元格之间)由操作系统定义(至少在Windows下),当系统范围的列表分隔符与逗号不同时,pandas(或我尝试过的任何其他内容)无法确定应使用哪个分隔符。
当然,我可以用pywin或其他东西创建一个twocell csv文件,并获取分隔符,但是没有直接的方法吗? 下面您可以看到两个csv文件的txt表示,它们在Windows计算机上以相同的方式显示,其中,“;”和“;”分别是默认的列表分隔符

  • 测试,1,2,“我的名字是邦德,詹姆斯·邦德”,我的年龄是;41
  • 试验;1.2.我叫邦德,詹姆斯·邦德;“我的年龄是;41岁”

使用Python内置的
嗅探器
类检测CSV的分隔符。下面是一个例子:


Pandas应该使用不同的分隔符处理文件,只需使用
sep
参数来
read\u csv

# Don't actually need the sep argument here
# as comma is the default
df1 = pandas.read_csv('csv_with_commas.csv', sep=',')
# Change the sep argument if your file uses a different
# separator
df2 = pandas.read_csv('csv_with_semicolons.csv', sep=';')

当然,我可以在我的电脑上这样做,但是我怎么知道在其他人的机器上使用什么分隔符呢?对不起,我以为你说熊猫“无法正确处理”这些文件,这可能会使事情过于复杂。你是对的,我说得不够清楚。我对这个问题进行了编辑,使之更加准确。无论如何,谢谢你的帮助!
# Don't actually need the sep argument here
# as comma is the default
df1 = pandas.read_csv('csv_with_commas.csv', sep=',')
# Change the sep argument if your file uses a different
# separator
df2 = pandas.read_csv('csv_with_semicolons.csv', sep=';')