你可以使用Python的csv模块如下:
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: