python - Removing extra characters when reading csv
问题描述
I'm reading in serial numbers from csv files and adding each number to a database. When I read in the data, it looks like this:
="TheSerialNumber"
How can I make it so the ="" isn't stored when reading in the row? The data doesn't look like that in the file.
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])
解决方案
您可以使用正则表达式,匹配紧随第一个单词的单词"
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"
I would read the documentation on re
module之后的第一个单词,因为它非常适用于您的情况。
推荐阅读
- python - Python:在图像中查找黑色背景
- kubernetes - 检查 Kubernetes 资源 CronJob 的日志
- bash - 如何在for循环中引用变量值以及在Bash脚本中增加变量名
- c# - 如何从http调用获取调用者信息到c#中的另一个api
- python - 如何将 CSV 的日期列表分组到月份?
- cypress - 如何在柏树中使用while循环?运行此规范文件时,控件不进入循环?我轮询任务的方式是否正确?
- speech-recognition - 是否有带有语音识别的 NAO 模拟?
- android - 如何使用颤振蓝牙连接到设备?
- javascript - 在反应中将 sm={} 属性动态分配给 Material Grid
- asp.net - 验证 URL - 为什么这不会引发 404?