Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 检测部分字符串并相应地重新排列csv_Python_Python 3.x_Csv - Fatal编程技术网

Python 检测部分字符串并相应地重新排列csv

Python 检测部分字符串并相应地重新排列csv,python,python-3.x,csv,Python,Python 3.x,Csv,我对Python非常陌生,仍然在学习。我正在尝试处理一些数据,我有一个非常大的raw_data.csv文件,其内容如下: ARB1,k_abc,t_def,s_ghi,1.321 ARB2,ref,k_jkl,t_mno,s_pqr,0.31 ARB3,k_jkl,t_mno,s_pqr,qrs,0.132 ARB4,sql,k_jkl,t_mno,s_pqr,ets,0.023 我想将此数据附加到现有的all_data.csv中,它应该如下所示 ARB1,k_abc,t_def,s_ghi,

我对Python非常陌生,仍然在学习。我正在尝试处理一些数据,我有一个非常大的raw_data.csv文件,其内容如下:

ARB1,k_abc,t_def,s_ghi,1.321
ARB2,ref,k_jkl,t_mno,s_pqr,0.31
ARB3,k_jkl,t_mno,s_pqr,qrs,0.132
ARB4,sql,k_jkl,t_mno,s_pqr,ets,0.023
我想将此数据附加到现有的all_data.csv中,它应该如下所示

ARB1,k_abc,t_def,s_ghi,1.321
ARB2,k_jkl,t_mno,s_pqr,0.31
ARB3,k_jkl,t_mno,s_pqr,0.132
ARB4,k_jkl,t_mno,s_pqr,0.023

如您所见,代码必须检测部分字符串和数字,并以有序的方式重新排列它们(通过排除没有它们的单元格)。我尝试使用csv模块时运气很差。有人能帮忙吗?

你可以用熊猫来解析这个。或者,如果您不想使用Pandas,我建议您只需读取数据,一次读取一行,然后使用逗号进行拆分。您可以创建一个二维数组,以便在读取更多数据时逐行填充。

似乎需要排除3个字符的小写字母字符串,如
“ref”、“qrs”、“sql”、“ets”
。您可以使用regex模块提取它们,例如
re.findall(',([a-z][a-z][a-z],)',data)
,然后在数据中用空字符串替换它们。这就是问题所在。这些字符串的名称不是固定不变的(我只是给出了几个例子),而且文件非常庞大,需要处理。我想,我需要的不是排除,而是对k、t和s部分字符串的选择策略。