Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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_Csv - Fatal编程技术网

如何使用Python向csv中的字符串添加双引号

如何使用Python向csv中的字符串添加双引号,python,csv,Python,Csv,我在CSV文件中设置了数据,我想在文本和字母数字数据中添加双引号,剩下的整数、浮点和小数不在双引号中 有人能帮忙吗 样本数据: 1, 3434, 789459 ,bdgvdjhjdhf, nagesd232 ,2yuyfudyf, #123 abc calony bangalore 1, 3434, 789459 ,"bdgvdjhjdhf", "nagesd232" ,"2yuyfudyf", "#123 abc calony bangalore" 预期结果将是: 您可以检查哪个类具有

我在CSV文件中设置了数据,我想在文本和字母数字数据中添加双引号,剩下的整数、浮点和小数不在双引号中

有人能帮忙吗

样本数据:

1, 3434, 789459 ,bdgvdjhjdhf, nagesd232 ,2yuyfudyf, #123 abc calony bangalore 
1, 3434, 789459 ,"bdgvdjhjdhf", "nagesd232" ,"2yuyfudyf", "#123 abc calony bangalore" 
预期结果将是:


您可以检查哪个类具有您的任何值:

list_val = [1, 3434, 789459 ,bdgvdjhjdhf, nagesd232 ,2yuyfudyf, #123 abc calony bangalore]
for i in list_val:
    if i.__class__ = str:
    .....

您可以检查哪个类具有您的任何值:

list_val = [1, 3434, 789459 ,bdgvdjhjdhf, nagesd232 ,2yuyfudyf, #123 abc calony bangalore]
for i in list_val:
    if i.__class__ = str:
    .....
您可以按如下方式使用Python模块:

import csv

with open('input.csv', newline='') as f_input, open('output.csv', 'w', newline='') as f_output:

    csv_input = csv.reader(f_input, skipinitialspace=True)
    csv_output = csv.writer(f_output, quoting=csv.QUOTE_NONNUMERIC)

    for row_input in csv_input:
        row_output = []
        for col in row_input:
            try:
                row_output.append(int(col))
            except ValueError, e:
                row_output.append(col)

        csv_output.writerow(row_output)
这将从
input.csv
中读取每一行,并尝试转换
int
中的每一项。如果失败,它将存储为字符串。然后将每一行写入
output.csv
,给出以下类型的输出:

1,3434,789459,"bdgvdjhjdhf","nagesd232 ","2yuyfudyf","#123 abc calony bangalore"
如果您的csv还包含
float
格式的列,则可以使用以下方法:

import csv

with open('input.csv', newline='') as f_input, open('output.csv', 'w', newline='') as f_output:
    csv_input = csv.reader(f_input, skipinitialspace=True)
    csv_output = csv.writer(f_output, quoting=csv.QUOTE_NONNUMERIC)

    for row_input in csv_input:
        row_output = []
        for col in row_input:
            try:
                row_output.append(int(col))
            except ValueError, e:
                try:
                    row_output.append(float(col))
                except ValueError, e:
                    row_output.append(col)

        csv_output.writerow(row_output)
如果正在使用Python 2.x,请使用:

with open('input.csv', 'rb') as f_input, open('output.csv', 'wb') as f_output:
您可以按如下方式使用Python模块:

import csv

with open('input.csv', newline='') as f_input, open('output.csv', 'w', newline='') as f_output:

    csv_input = csv.reader(f_input, skipinitialspace=True)
    csv_output = csv.writer(f_output, quoting=csv.QUOTE_NONNUMERIC)

    for row_input in csv_input:
        row_output = []
        for col in row_input:
            try:
                row_output.append(int(col))
            except ValueError, e:
                row_output.append(col)

        csv_output.writerow(row_output)
这将从
input.csv
中读取每一行,并尝试转换
int
中的每一项。如果失败,它将存储为字符串。然后将每一行写入
output.csv
,给出以下类型的输出:

1,3434,789459,"bdgvdjhjdhf","nagesd232 ","2yuyfudyf","#123 abc calony bangalore"
如果您的csv还包含
float
格式的列,则可以使用以下方法:

import csv

with open('input.csv', newline='') as f_input, open('output.csv', 'w', newline='') as f_output:
    csv_input = csv.reader(f_input, skipinitialspace=True)
    csv_output = csv.writer(f_output, quoting=csv.QUOTE_NONNUMERIC)

    for row_input in csv_input:
        row_output = []
        for col in row_input:
            try:
                row_output.append(int(col))
            except ValueError, e:
                try:
                    row_output.append(float(col))
                except ValueError, e:
                    row_output.append(col)

        csv_output.writerow(row_output)
如果正在使用Python 2.x,请使用:

with open('input.csv', 'rb') as f_input, open('output.csv', 'wb') as f_output:

你应该解释你的解决方案,而不仅仅是发布一段代码。你应该解释你的解决方案,而不仅仅是发布一段代码。我一直在寻找这样的解决方案!我可以让它在单个文件上工作,但我尝试在一个文件目录(大约600个)中迭代它。有可能这样做吗?我有一个悬而未决的问题-我一直在寻找这样的解决方案!我可以让它在单个文件上工作,但我尝试在一个文件目录(大约600个)中迭代它。有可能这样做吗?我有个问题要问-