如何在for和if循环中格式化Python列表?

问题描述 投票:0回答:1

我正在创建一个五号汇总python程序,它包含CSV模块来查看文件。我在python中查看CSV文件时遇到问题。当python读取第一个逗号分隔值前面的文件是一些奇怪的字符时,我怎么能删除这些奇怪的字符所以我可以只有这个数字,我可以在列表中使用?这是我的代码:

import csv

fileName = "numraw.csv" 
firstNumList = [] # This is a "working" list
endNumList = [] # This is the list that summaries will be made on
tstlst = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'] 
elementL = []
elementL2 = []
with open(fileName, newline="") as csvfile:
    read5sum = csv.reader(csvfile, delimiter=',', quotechar='|')
    for element in read5sum:
        prtllst = str(element)
prtllst = list(prtllst.split(',')) 
for element in prtllst: 
    elementL = list(element.split(","))
    for element2 in elementL: 
        for element3 in element2:
            if element3 in tstlst:
                element3 = int(element3)
                print(element3)
            list(firstNumList).append(element3)
            firstNumList = "[]".join(firstNumList)
            print(firstNumList)

对不起,如果它是一个愚蠢的问题,我正在学习CSV模块。正在使用的for循环是我试图解决它。所有帮助将不胜感激

编辑:这是csv文件上下文:56,5,1,84,32,69,23,35编辑#2:这是python中的csv输出:[“['56”,'5', '1','84','32','69','23',“35']”]

python
1个回答
0
投票

您面临的问题似乎是因为编码。你能更新open函数来添加编码,还可以用二进制文件打开它吗?您的代码看起来应该是这样的。

with open("filename.txt", "rb") as f:
    contents = f.read().decode("UTF-8")
© www.soinside.com 2019 - 2024. All rights reserved.