hive导入csv文件,字段中双引号内有逗号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hive导入csv文件,字段中双引号内有逗号相关的知识,希望对你有一定的参考价值。

导入csv文件到hive里面,用英文逗号做分隔符。 但是在源文件里面有很多类似: nvaa,"dhla,gvciz,",dhakh,"hkalc,ajxl" 导入之后会把双引号内的英文逗号也算作分隔符。 这个问题怎么解决,求解!

参考技术A 在CSV中是用
“,”分割。你字段里面有逗号说明这个单元格的值是一个字符串,所以要加
引号

比如:
第一个值为:
2010,10,10
第二个值为
40
输出CSV为:
"2010,10,10",40
若还有疑问Hi
me.
参考技术B
excel
2007
中,单击“office
按钮”,然后单击“另存为”。
在“另存为”对话框中执行以下操作:
在“保存类型”框中,单击“csv
(逗号分隔)(*.csv)”。
在“文件名”框中,键入
csv
文件的名称(例如
address.csv),然后单击“保存”。
参考技术C 目前只知道一种方式
读取csv,然后把单元格内的英文逗号,转换为中文逗号,然后在load到hive

python 我发现Crystal Reports创建的CSV文件具有双引号字段,其中一些字段在引号之间包含逗号。我们不想

def splitStringWithBadlyFormedCSV(aString):
    """
    Return list of fields in aString, splitting by commas while ignoring 
    commas that appear within double-quoted strings.
    """
    ignore = False
    splices = list()
    anchor = 0
    for cursor in range(len(aString)):
        character = aString[cursor]
        # Flag toggles each time it encounters a double quote.
        ignore = not ignore if character == '"' else ignore
        if character == ',' and not ignore:
            splices.append((anchor, cursor))
            # We want to drop anchor 1 past the comma.
            anchor = cursor + 1
    # Last field.
    splices.append((anchor, len(aString)))
    # Now we can strip out the stupid double quotes in each field.
    fields = [aString[start: end].replace('"', '') for start, end in splices]
    return fields
    

以上是关于hive导入csv文件,字段中双引号内有逗号的主要内容,如果未能解决你的问题,请参考以下文章

opencsv写入时去掉双引号

如何在使用 EMR/Hive 将数据从 S3 导入 DynamoDB 时处理包含在引号 (CSV) 中的字段

Pig CSVExcelStorage 双引号逗号

SQL导入csv数据后,表格的数据有双引号,请问有人知道怎么去掉双引号吗?不去掉双引号,筛选不了数据?

Pyspark:读取带有双引号和逗号的字段的csv文件

CSV文件的双引号怎么去掉。用记事本打开有双引号,EXCEL打开又没有了,怎么样去掉这个双引号,这是个啥