相关疑难解决方法(0)

从CSV文件的字符串列中删除换行符

我有一个带有字符串列的CSV文件,该列跨越了多行。我想将这些多行汇总为一行。

例如

1, "asdsdsdsds", "John"
2, "dfdhifdkinf
dfjdfgkdnjgknkdjgndkng
dkfdkjfnjdnf", "Roy"
3, "dfjfdkgjfgn", "Rahul"
Run Code Online (Sandbox Code Playgroud)

我希望我的输出是

1, "asdsdsdsds", "John"
2, "dfdhifdkinf dfjdfgkdnjgknkdjgndkng dkfdkjfnjdnf", "Roy"
3, "dfjfdkgjfgn", "Rahul"
Run Code Online (Sandbox Code Playgroud)

我想使用PowerShell实现此输出

谢谢。

csv powershell

5
推荐指数
2
解决办法
2万
查看次数

从 CSV 文件的字符串列中删除新行

我有一个包含多个字段的 CSV 文件。数据跨越多行的字段(字符串)很少。我想将这些多行聚合为一行。

输入数据:

1, "asdsdsdsds", "John"
2, "dfdhifdkinf
dfjdfgkdnjgknkdjgndkng
dkfdkjfnjdnf", "Roy"
3, "dfjfdkgjfgn", "Rahul"
Run Code Online (Sandbox Code Playgroud)

预期输出:

1, "asdsdsdsds", "John"
2, "dfdhifdkinf dfjdfgkdnjgknkdjgndkng dkfdkjfnjdnf", "Roy"
3, "dfjfdkgjfgn", "Rahul"
Run Code Online (Sandbox Code Playgroud)

早些时候在SO 中提出了同样的问题。然而,解决方案是使用 power shell 实现的。是否可以使用 python、pandas 或 pyspark 实现相同的目标。

每当数据跨越多行时,它肯定会用双引号引起来。

我试过的

我可以使用 Pandas 和 pyspark 读取数据而不会出现任何问题,即使有些字段跨越了多行。

熊猫:

pandas_df = pd.read_csv("file.csv")
Run Code Online (Sandbox Code Playgroud)

火花

df = sqlContext.read.format('com.databricks.spark.csv').options(header='true', inferschema='true') \
        .option("delimiter", ",").option("escape", '\\').option("escape", ':').\
    option("parserLib", "univocity").option("multiLine", "true").load("file.csv")
Run Code Online (Sandbox Code Playgroud)

编辑:

csv 文件中可以有 n 个字段,并且此数据跨度可以在任何字段中。

python csv newline pandas pyspark

5
推荐指数
1
解决办法
2874
查看次数

用空格替换双引号之间的换行符

我想逐行读取数据,而且我发现双引号我想用空格替换新行字符,直到第二个双引号遇到像

090033ec82b13639,CPDM Initiated,Logistical,"There corrected.",Gul Y Serbest,Urology
090033ec82ae0c07,Initiated,NA,"To   local testing
Rohit  3 to 4.",Julienne B Orr,Oncology
090033ec82b35fd0,Externally Initiated,NA,regulatory agency requests,Kenneth A Lord,Oncology
Run Code Online (Sandbox Code Playgroud)

就像上面的数据第二行一样,因为它在第3行中找到双引号(打开)和关闭双引号所以我们需要将这些行合并为单个空格,如下所示:

090033ec82b13639,CPDM Initiated,Logistical,"There corrected.",Gul Y Serbest,Urology
090033ec82ae0c07,Initiated,NA,"To   local testing Rohit  3 to 4.",Julienne B Orr,Oncology
090033ec82b35fd0,Externally Initiated,NA,regulatory agency requests,Kenneth A Lord,Oncology
Run Code Online (Sandbox Code Playgroud)

regex unix bash shell awk

1
推荐指数
1
解决办法
5775
查看次数

标签 统计

csv ×2

awk ×1

bash ×1

newline ×1

pandas ×1

powershell ×1

pyspark ×1

python ×1

regex ×1

shell ×1

unix ×1