草庐IT

分隔符

全部标签

python - 使用逗号或点作为分隔符将 Python 字符串显式转换为 float

我如何明确告诉python使用小数点或逗号作为小数分隔符来读取小数?我不知道将运行我的脚本的PC的本地化设置,这应该不会影响我的应用程序,我只想说:f=read_float_with_point("3.14")或f=read_float_with_comma("3,14")我认为写作defread_float_with_comma(num):returnfloat(num.replace(",",".")不安全,因为我不知道区域设置! 最佳答案 becauseIdon'tknowthelocalesettings您可以使用local

python - 在 Python 中从空格分隔的 key=value 字符串创建字典

我有如下字符串:s='key1=1234key2="stringwithspace"key3="SrtingWithoutSpace"'我想按如下方式转换成字典:key|value-----|--------key1|1234key2|stringwithspacekey3|SrtingWithoutSpace我如何在Python中执行此操作? 最佳答案 TheshlexclassmakesiteasytowritelexicalanalyzersforsimplesyntaxesresemblingthatoftheUnixshe

python - 有效地将数据从 CSV 读取到具有多个分隔符的数据框中

我有一个笨拙的CSV文件,它有多个分隔符:非数字部分的分隔符是',',数字部分的分隔符是';'。我想尽可能高效地仅从数字部分构建数据框。我做了5次尝试:其中,利用pd.read_csv的converters参数,使用正则表达式和engine='python',使用str.replace。它们都比读取没有转换的整个CSV文件慢2倍以上。这对我的用例来说太慢了。我知道这种比较不是对等的,但它确实表明整体性能不佳不是由I/O驱动的。有没有更有效的方法将数据读入数字Pandas数据框?或者等效的NumPy数组?以下字符串可用于基准测试目的。#Python3.7.0,Pandas0.23.4fr

python - 如何从 pyodbc 结果行创建逗号分隔的字符串?

我有一个存储在cursor.rows中的行结果集,这些行是从pyodbc.cursor.execute命令返回的。解压缩此数据并将其放入逗号分隔字符串列表(或解压缩到自定义对象中)的最快方法是什么?目前我正在做以下事情:cursor.execute(query_str)f=open(out_file,'w')forrowincursor:f.write(','.join([str(s)forsinrow]))f.write('\n')每行需要130毫秒,这似乎是一个非常昂贵的操作。我怎样才能加快速度? 最佳答案 我会使用csv模块:

python - 将大型制表符分隔的 .txt 文件导入 Python

我有一个制表符分隔的.txt文件,我试图将其导入到与文本文件格式相同的Python矩阵数组中,如下所示:123088266248244266244277123425275244241289248231123540156654189354156987请注意,上面还有很多行(大约200行)我想传递给Python并在从中创建矩阵数组时保持相同的格式。我目前的代码是:d={}withopen('filename','rb')ascsv_file:csv_reader=csv.reader(csv_file,delimiter='\t')forrowincsv_reader:d[row[0]]=

python - 使用 Pandas 计算 CSV 行中的分隔符

我有一个csv文件如下:name,agesomethingtom,20当我将它放入数据框时,它看起来像:df=pd.read_csv('file',header=None)011nameage2somethingNaN3tom20我如何获得原始行数据中逗号的计数。例如,答案应如下所示:#inpseudocodedf['_count_separators']=len(df.raw_value.count(','))01_count_separators1nameage12somethingNaN03tom201 最佳答案 非常简单,将

python - 使用 Pandas 读取空格分隔的数据

这个问题在这里已经有了答案:Howtomakeseparatorinpandasread_csvmoreflexiblewrtwhitespace,forirregularseparators?(4个答案)关闭5年前。我曾经使用numpy.loadtxt()读取数据。然而,最近我在SO中发现,pandas.read_csv()快得多。要读取这些数据,我使用:pd.read_csv(filename,sep='',header=None)我现在遇到的问题是,在我的例子中,分隔符可以不同于一个空格,x个空格甚至一个制表符。这里是我的数据的样子:56.00101.8552.40101.855

python - 如何将 pandas 数据框行转换为逗号分隔的字符串

我需要遍历pandasdf的每一行并将其转换为逗号分隔的字符串。例子:df3=DataFrame(np.random.randn(10,5),columns=['a','b','c','d','e'])abcde0-0.158897-0.7497990.2689210.0700350.0996001-0.863654-0.086814-0.614562-1.6788500.9802922-0.0981680.710652-0.456274-0.373153-0.53346331.001634-0.736187-0.8120340.223062-1.33797240.173549-0.5

python - 如何用不在括号内的逗号分隔?

假设我有一个这样的字符串,其中项目用逗号分隔,但在带有括号内容的项目中也可能有逗号:(编辑:抱歉,忘记提及某些项目可能没有括号内容)"Water,TitaniumDioxide(CI77897),Black2(CI77266),IronOxides(CI77491,77492,77499),Ultramarines(CI77007)"如何只用不在括号内的逗号分隔字符串?即:["Water","TitaniumDioxide(CI77897)","Black2(CI77266)","IronOxides(CI77491,77492,77499)","Ultramarines(CI7700

python - 如何在 python 中将我的 float 更改为以逗号作为小数点分隔符的两位小数?

我有一个float:1.2333333如何将其更改为以逗号作为小数点分隔符的两位小数,例如1,23? 最佳答案 要得到两位小数,使用'%.2f'%1.2333333要获得逗号,请使用replace():('%.2f'%1.2333333).replace('.',',')第二个选择是changethelocale到某个使用逗号的地方,然后使用locale.format():locale.setlocale(locale.LC_ALL,'FR')locale.format('%.2f',1.2333333)