Name,Age,Address,Salary
Luke,24,Mountain View\,CA,100
df = spark.read.csv(fname, schema=given_schema,
sep=',', quote='',mode="FAILFAST")
请先尝试使用rdd,重新格式化它,然后在它上面创建一个dataframe。
df = sc.textFile(PATH_TO_FILE) \
.map(lambda x: x.replace("\\," ,"|")) \
.mapPartitions(lambda line: csv.reader(line,delimiter=','))\
.filter(lambda line: line[0] != 'Name') \
.toDF(['Name','Age','Address','Salary'])
这就是您的数据文件现在的样子:
>>> df.show();
+----+---+----------------+------+
|Name|Age| Address|Salary|
+----+---+----------------+------+
|Luke| 24|Mountain View|CA| 100|
+----+---+----------------+------+
我必须用“”替换地址列“\\”,然后使用分隔符“,”拆分数据。不确定它如何符合您的要求,但它是工作的。
在我的应用程序中,我正在通过SQL中的“load data local infile”filename命令将一个csv文件读入DB。如果一个反斜杠出现在一个字段中,相邻字段将被合并。如何在将文件读入DB时忽略反斜杠。 例如, “ABCD”,“EFGH\”,“IJK” 它将作为col1 col2 col3 abcd efghijk null转到表中 我想把它变成col1 col2 col3 abcd
在output.csv的第2行,转义字符和引号(“”)一起丢失了。我的要求是在output.csv中也保留转义字符。任何形式的帮助都将非常感谢。 提前谢了。
问题内容: 如何在Python中转义反斜杠和单引号或双引号? 例如: 问题答案: 你是怎么做到的 如果您从文件中读取了“长字符串”(如您在注释中所述),那么您的问题将引起误解。由于您显然不完全了解转义的工作原理,因此您写下的问题可能与您真正遇到的问题不同。 如果这些是文件的内容(如图所示为51个字节+可能是一两个行尾字符): 那么这就是在python中的样子: 您在问题中写的内容将产生: 你看得到
问题内容: 我正在使用Commons CSV来解析与电视节目有关的CSV内容。其中一个节目的节目名称带有双引号; 2010年9月10日116,6,2,29,“” JJ“(60分钟)”,“ http://www.tvmaze.com/episodes/4855/criminal- minds-6x02-jj ” 节目名称为“ JJ”(60分钟),该名称已用双引号引起来。这在封装的令牌和定界符之间抛出
问题内容: 我正在编写一个Java应用程序以将数据从Oracle导出到CSV文件 不幸的是,数据的内容可能非常棘手。分隔符仍然是逗号,但连续的一些数据可能是这样的: 因此,这是该列上的字符串之一: 我说:“我是5‘10”。 别开玩笑了,我需要在Java生成的CSV文件中的excel或开放式办公室中显示上述注释,而又不能妥协,并且当然不能弄乱其他常规的转义符情况(即,常规的双引号和元组中的常规逗号)
问题内容: 为了匹配文字上的反斜杠,许多人和PHP手册都说:总是这样对它进行三倍转义 注意事项 : 单引号和双引号的PHP字符串具有反斜杠的特殊含义。因此,如果\必须与正则表达式匹配,则必须在PHP代码中使用或。 这是一个示例字符串: 结论 : 如果模式是单引号,则必须将双反斜杠转义以匹配文字\ 如果模式被双引号引起,则取决于反冲是否在字符类内部,在该字符级中必须至少将其两次转义,而必须将 其三倍