读取csv时删除多余的字符

时间:2019-04-25 18:38:05

标签: python csv

我正在从csv文件中读取序列号,并将每个数字添加到数据库中。当我读取数据时,它看起来像这样:

="TheSerialNumber"

我如何做到这一点,以便在读行时不存储=“”?数据看起来与文件中的数据不一样。

import mysql.connector
from mysql.connector import errorcod
import csv
import os.path
from os import path

for file in os.listdir(directory):
filename = os.fsdecode(file)
with open('mydirectory' + filename, 'r', newline='') as csvfile:
    csv_reader = csv.reader(csvfile, delimiter=',')
    count = 0
    next(csv_reader)
    for row in csv_reader:
      print(row[3])

2 个答案:

答案 0 :(得分:1)

您可以使用正则表达式,匹配第一个"之后的单词

import mysql.connector
from mysql.connector import errorcod
import csv
import os.path
from os import path

import re

for file in os.listdir(directory):
filename = os.fsdecode(file)
with open('mydirectory' + filename, 'r', newline='') as csvfile:
    csv_reader = csv.reader(csvfile, delimiter=',')
    count = 0
    next(csv_reader)
    for row in csv_reader:
        word = re.search(r'(?<==")\w+', row[3])
        print(word)

这应该返回="="serialnum"之后的第一个单词 我会阅读re module上的文档,因为它非常适合您的情况。

答案 1 :(得分:1)

使用strip()

示例:

a = '="TheSerialNumber"'

value = a.strip('="')
print(value)

输出:

TheSerialNumber