首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读取csv时删除额外字符

问读取csv时删除额外字符
EN

Stack Overflow用户
提问于 2019-04-26 02:38:05
回答 2查看 32关注 0票数 0

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

代码语言:javascript
复制
="TheSerialNumber"

如何才能使="“在读取行时不被存储?数据与文件中的数据不同。

代码语言:javascript
复制
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])
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-26 02:57:23

使用条带()

示例:

代码语言:javascript
复制
a = '="TheSerialNumber"'

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

输出:

代码语言:javascript
复制
TheSerialNumber
票数 1
EN

Stack Overflow用户

发布于 2019-04-26 02:50:18

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

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55855684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档